0

我有一个 jQuery TimePicker。它工作正常,但是当我克隆该行时,它仅适用于第一行,但不适用于克隆的行。

这是代码:

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

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

我认为它是使用 id 来调用函数。还有其他更好的方法吗?

4

2 回答 2

2

克隆行时,还要初始化第二个时间选择器。

尽管您现在拥有的代码可能会产生问题,因为您的 DOM 中将有一个重复的 id。所以我建议你改变idtoclass并且当你复制你称之为的行时:

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

或者只是删除输入字段的 id 并使用它:

$('.time').timepicker({ 'timeFormat': 'H:i' });
于 2013-07-18T08:02:59.900 回答
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 的元素,这是无效的。所以我在这里使用类

于 2013-07-18T08:01:35.930 回答