2012-05-22 68 views
2

我用我的領域,如該datepickertimepicker日期選擇器和timepicker不附加元素工作

<input class="datepicker" name="sugg_date[]" type="text" value="" /> 
<input class="tp" name="sugg_time[]" type="text" value="" /> 

我也是用這個功能來添加更多的行:

<script> 
    function add_next_row(e, row_a) { 
     curr_row = $(row_a).prev('p'); 
     curr_row.append('<input class="datepicker" name="sugg_date[]" type="text" value="" />'); 
     curr_row.append('<input class="tp" name="sugg_time[]" type="text" value="" />'); 

     if (e.preventDefault) { 
      e.preventDefault(); 
     } else { 
      e.returnValue = false; 
     } 
    } 
</script> 

但新行不適用於timepickerdatepicker。有人可以告訴我爲什麼。

+0

$日期選擇器();( '日期選擇器'。)。 $('。tp')。timepickr()。timepickr({convention:12}); 這是我如何使用jquery應用timepicker和datepier –

+0

沒有PHP在這裏。刪除標籤。 – Gordon

+0

你必須重新加載日期選擇器插入新行後,所以在函數調用datepicker結束時多一次 –

回答

1
function add_next_row(e, row_a) { 

    if (e.preventDefault) { 
     e.preventDefault(); 
    } else { 
     e.returnValue = false; 
    } 
    curr_row = $(row_a).prev('p'); 
    var $datefield = $('<input class="datepicker" name="sugg_date[]" type="text" value="" />').datepicker(); 
    var $timefield = $('<input class="timepickr" name="sugg_time[]" type="text" value="" />'); 
    curr_row.append($datefield); 
    curr_row.append($timefield); 
    curr_row.append("<br/>"); 


    $(".timepickr").timepickr().timepickr({convention:12}); 


} 
+0

這是th最好的與我合作 –

1

您需要爲每個添加的新元素初始化datepickertimepicker。試試這個:

function add_next_row(e, row_a) { 
    e.preventDefault(); 

    var $datefield = $('<input class="datepicker" name="sugg_date[]" type="text" value="" />').datepicker(); 
    var $timefield = $('<input class="tp" name="sugg_time[]" type="text" value="" />').timepickr({convention:12}); 

    curr_row = $(row_a).prev('p'); 
    curr_row.append($datefield); 
    curr_row.append($timefield); 
} 
+0

感謝@rory它的工作現在是「第一個提交的」,但直截了當地不工作的時間「第二個字段「 –

+0

我注意到你叫做插件'timepickr'是對的,還是應該是'timepicker'? –

+0

不是這樣,因爲第一個填充前的工作正常 –