在页面加载后动态添加 jquery 日期选择器
Add jquery datepicker dynamically after page load
点击按钮后,我有一些jquery,它将向"body"元素添加一些html。 在该 html 中,我有一个日期选择器输入字段,它拒绝在应该出现时出现。
我在应用程序的其他几个位置使用 ui-datepicker,它运行良好。
我尝试在文档加载时调用日期选择器:
jQuery ->
$('.my-datepicker-class').each ->
input = $(this)
input.datepicker()
在将新 HTML 添加到页面的点击事件之后:
$('.my-button').click ->
$('body').ipadoverlay
titleStyle: false
contentWidth: 500
topSpc: true
content: $('#popup-for-' + thing_id).html()
$('.my-datepicker-class').each ->
input = $(this)
input.datepicker()
但拣货员拒绝出现。 我的猜测是,这与jquery何时构建和放置日期选择器有关,但我真的不知道。
如果您有任何想法或可以使用更多信息,请告诉我。
更新我更改了调用 datepicker() 的方式,以便它仅适用于我希望日期选择器附加到的元素。
$('.ipadoverlay .date-picker').datepicker()
这消除了 .each => 的第一个问题。
现在它默默地失败了。 没有错误或警告。 日期选择器根本不显示。
我将开始深入研究jquery.ui.datepicker.js看看我是否可以弄清楚发生了什么,但是如果您对日期选择器无法响应的原因有任何想法,请告诉我。
更新 2好的,我更进一步。 类'hasDatepicker'已经附加到我想要添加日期选择器的元素上(这意味着$('.date-picker').datepicker()在其他地方被调用,而元素是隐藏的和未使用的),但是日期选择器不起作用。 我通过从我的元素中删除类并再次调用 .datepicker() 来解决此问题
$('.ipadoverlay .date-picker').removeClass('hasDatepicker')
$('.ipadoverlay .date-picker').datepicker()
现在,日期选择器在单击时显示,但选择日期不会执行任何操作... 帮助将不胜感激
你需要使用胖箭头。 您对"this"的使用会失去其上下文。
jQuery ->
$('.my-datepicker-class').each => # <-- Fat arrow
input = $(this)
input.datepicker()
我会解释,但 coffeescript.org 做得比以往任何时候都好。
相关文章:
- 正在SharePoint 2013母版页中添加JQuery移动文件
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 使用.on动态添加jquery/js不知道的html元素
- Rails资产管道-只向head添加jquery
- 如何在XHTML中添加jQuery CDN回退
- 添加JQuery UI在Meteor中添加对象后可调整大小
- 添加jquery Datepicker后,文本框的初始值不会显示
- 添加Jquery验证后,Jquery日期选择器无法工作
- 如何在谷歌博客中添加jQuery而不修改模板
- 从服务器端添加jQuery函数
- 如何在jQuery.awesomeCloud.plugin上添加jQuery工具提示功能
- 动态添加jquery ajax选项
- 正在添加JQuery淡入淡出代码
- 添加 jQuery UI 后,从表中删除行的函数不起作用
- 如何动态添加 jQuery 移动弹出效果到链接
- 如何在 mytemplate 中添加 Jquery
- 在页面加载后动态添加 jquery 日期选择器
- 这是在一个项目中添加Jquery和Angularjs的正确方法
- 滚动到页面末尾后添加 JQuery 微调器
- 在图像不起作用的 src 中添加 jQuery 变量