![](/img/trans.png)
[英]Javascript/JQuery - Running Code Dynamically Some Time After Page Load
[英]Add jquery datepicker dynamically after page load
单击按钮后,我有了一些jquery,它将向'body'元素添加一些html。 在该html中,我有一个datepicker输入字段,该字段拒绝在应有的时候出现。
我在应用程序的其他几个位置使用了ui-datepicker,它运行良好。
我尝试在文档加载时调用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的时间有关,但我真的不知道。
让我知道您是否有任何想法或可以使用更多信息。
UPDATE我更改了调用datepicker()的方式,使其仅适用于我希望将datepicker附加到的元素。
$('.ipadoverlay .date-picker').datepicker()
这消除了.each =>的第一个问题。
现在它默默地失败了。 没有错误或警告。 日期选择器根本不会显示。
我将开始研究jquery.ui.datepicker.js,以查看是否可以解决问题,但是如果您有任何想法,为什么datepicker无法响应,请告诉我。
更新2好的,我又走了一步。 类'hasDatepicker'已经附加到我要添加datepicker的元素上(这意味着$('。date-picker')。datepicker()在其他地方被调用,而该元素被隐藏且未使用),但是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的工作比以前更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.