2011-02-28 44 views
1

如何將datepicker附加到動態注入元素?附加jquery datepicker注入元素

我不能簡單地做一樣的東西:

$(function(){ 
    $('.date').datepicker(); 
}) 

因爲DOM加載完成後,有帶班「.date」

我不認爲live()也將在這裏工作

的任何元素

我的螢火這個錯誤$(".date").datepicker is not a function

編輯:
這是元素如何被注入

$('#typeId').change(function(){ 
    $(this).nextAll().remove(); 
    $(this).parent().append('<input type="hidden" name ="view_type" value="by_range"> <span>Start:</span> <input type="text" name="start_date" class="date"> <span>End:</span> <input type="text" name="end_date" class="date"> <input type="submit" value="Submit">'); 
}) 
+0

做ü要動態更新日期? – 2011-02-28 14:40:39

+0

@Mohan no i dont ... – slier 2011-02-28 14:55:40

回答

0

Live Query沒有解決我的問題

$('.date').livequery(){ 
    $(this).datepicker() 
} 
0

你爲什麼不嘗試創建一個回調函數插入動態插入元素時,將調用。回調可以爲指定的選擇器設置日期選擇器。

0

如果你知道什麼時候插入元素,你可以在它之後執行.datepicker()。

0

前一段時間我使用了類似的東西複製/刪除,一個jQuery插件,你可以在這裏找到:

$(this).find('input').focus(); 
http://www.trovster.com/lab/plugins/duplicate-remove/

對上jquery.duplicate-remove.js的線60以下後,

可以實例jQuery的日期選擇器:

$(this).find('.datepicker').datepicker(); 

然後,只需調用複製/常刪除。您還需要選取器第一個元素的「初始」datepicker實例。

+0

當然,你可以做得更加優雅,允許不同的jQuery UI元素的不同實例,甚至可以基於字段名稱或id。我不知道。給你工作的正確工具! :) – 2011-02-28 14:59:37

0

嘗試修改您的代碼如下:

$('#typeId').change(function(){ 
    $(this).nextAll().remove(); 
    $(this).parent().append($('<input type="hidden" name ="view_type" value="by_range"> <span>Start:</span> <input type="text" name="start_date" class="date"> <span>End:</span> <input type="text" name="end_date" class="date"> <input type="submit" value="Submit">').find('.date').datepicker()); 
}) 
+0

不工作,它甚至不追加形式控制...順便說一句我已經找到了解決方案,通過使用生活查詢插件..thx爲你的建議順便說一句 – slier 2011-02-28 15:52:24