2013-07-18 111 views
0

我有一個jQuery TimePicker。它工作正常,但是當我克隆該行時,它只能在第一行上工作,而不在克隆行上。克隆的Jquery timePicker

這是代碼:

<script> 
    $(function() { 
     $('#timePicker').timepicker({ 'timeFormat': 'H:i' }); 
    }); 
</script>  

<input id="timePicker" name = "time[]" type="text" class="time" /> 

我認爲這是使用id來調用該函數。任何其他更好的方法?

+2

請檢查此鏈接。 。我做了一個演示http://jsfiddle.net/9a6xY/ – rab

回答

2

當你克隆該行時,還初始化第二個時間選擇器。

這可能會產生一個問題,儘管你現在使用的代碼是因爲你的DOM中會有一個重複的ID。因此,我建議你改變idclass,當你複製的行調用這個:

$('.timePicker').timepicker({ 'timeFormat': 'H:i' }); 

或者只是刪除您輸入欄的ID,並使用此:

$('.time').timepicker({ 'timeFormat': 'H:i' }); 
+0

其工作在前2行:/ –

+0

請更新您的問題,以便我們可以看到你在做什麼 – MaVRoSCy

0

這是因爲...當timepicker被調用..克隆的元素不存在於文檔中,因此將無法找到並添加timepicker到它..克隆的元素附加到後,再次調用timepicker該文件。

試試這個

<script> 
    $(function() { 
    $('.time').timepicker({ 'timeFormat': 'H:i' }); 
    //-^---here using class selector 

    //your codes to append the cloned element. 

    $('.time').timepicker({ 'timeFormat': 'H:i' }); //call again 
    //-^---here using class selector 
}); 
</script> 

注:請確保您使用類怎麼一回事,因爲複製元素將結束與具有相同的id,這將是無效的兩個元素..所以我用類這裏

+0

我已經試過這樣做:

+0

您的選擇器必須是'.time',像這樣:$('。time')。timepicker({'timeFormat':'H:i'}); – MaVRoSCy

+0

在我的答案中注意'''運算符而不是'#' ..這是類選擇器...但在你的情況下,即使你有類..你正在使用ID選擇器..刪除該ID ...或否則使其獨特 – bipen