Jquery 日期选择器和时间选择器不处理附加元素

Jquery 日期选择器和时间选择器不处理附加元素,jquery,Jquery,我正在使用datepicker和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) {

我正在使用
datepicker
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>

函数添加下一行(e,行a){
curr_row=$(row_a).prev('p');
当前行追加(“”);
当前行追加(“”);
如果(如默认){
e、 预防默认值();
}否则{
e、 returnValue=false;
}
}

但是新行不适用于
时间选择器
日期选择器
。有人能告诉我原因吗。

您需要为添加的每个新元素初始化
日期选择器
时间选择器
。试试这个:

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);
}
函数添加下一行(e,a行){
e、 预防默认值();
var$datefield=$('').datepicker();
var$timefield=$('').timepicker({convention:12});
curr_row=$(row_a).prev('p');
当前行追加($datefield);
当前行追加($timefield);
}
功能添加下一行(e,a行){
如果(如默认){
e、 预防默认值();
}否则{
e、 returnValue=false;
}
curr_row=$(row_a).prev('p');
var$datefield=$('').datepicker();
变量$timefield=$('');
当前行追加($datefield);
当前行追加($timefield);
当前行追加(
); $(“.timepicker”).timepicker().timepicker({convention:12}); }
$('.datepicker').datepicker()$('.tp').timepicker().timepicker({convention:12});这就是我如何使用jquery应用时间选择器和datepierU的方法。在插入新行后,我们必须重新加载datepicker,因此在函数末尾再次调用datepicker。我如何才能做到这一点?我对此有点陌生。您的代码在哪里?您在哪里通过juqery$(document.ready)调用了datepicker函数和timepicker函数{$('.datepicker').datepicker();$('.tp').TimePicker().TimePicker({convention:12});$({convention:12}).TimePicker().TimePicker({convention:12});感谢@rory今天“第一个文件”已经开始工作了,但在“第二个文件”的时候却完全不工作了我注意到你调用了插件
timepicker
,是这样吗,还是应该是
timepicker
?不,这是正确的,因为附加之前的第一个字段很好。有没有其他方法可以解决这个问题?我尽了最大的努力,但是timepicker没有工作,我不知道为什么?Rory McCrossan
    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});


}