![](/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.