2012-11-23 40 views
0

如何獲取可動態添加元素的jQuery插件?每次您點擊添加按鈕時,我正在嘗試向DIV datesList添加少量日期選擇器。該插件不適用於動態添加的文本框。有人可以請指教嗎?jQuery插件無法爲動態添加的元素工作

謝謝

HTML

<div class="datesList"> 
    <div class="date"> 
     <input type="text" class="date-picker"/> 
    </div> 
</div> 

<div class="addDate"> 
    Add Date 
</div> 

JS在()

$(".date-picker").datepicker(); 

$(".addDate").click(function(){ 
    var dList = $(".datesList"); 
    dList.find(".date").first().clone(false).appendTo(dList); 
}); 

回答

1

使用jQuery http://api.jquery.com/on/像這樣:

$(document).on('click', '.addDate', function() { 
    YOUR FUNCTION 
}); 

爲了獲得更好的性能而不是$(文檔),請使用第一次加載的最近的DOM元素

+0

對不起隊友它不工作的方式,請你能夠幫我一個jsFiddle – manraj82

-1

如果這是jQuery UI日期選擇器,則每次更新後都可以簡單地調用.datepicker('refresh')

1

試試這個

$(".date-picker").datepicker(); 

$(".addDate").click(function(){ 
    var dList = $(".datesList"); 
    dList.find(".date").first().clone(false).appendTo(dList); 
    $(".date-picker").datepicker(); 
}); 
0

這個工作,但你可能不喜歡我做的

$(".date-picker").datepicker(); 

$(document).on('click', '.addDate', function() { 
    var dList = $(".datesList"); 
    var newinput = $('<input type="text" />').attr('class', 'date-picker'); 
    dList.append(newinput); 
    var newdatepickr = $(".date-picker").datepicker(); 
});​ 

http://jsfiddle.net/2pFAd/