将事件dp.change附加到dinamic bootstrap datepicker

时间:2015-12-03 02:26:36

标签: jquery twitter-bootstrap datepicker

我有一个包含多个寄存器的html表,每个寄存器都有一个 Bootstrap datetimepicker ,用户可以在其中编辑给定的日期。所以,正如我之前所说的那样,我使用dinamically生成它们,我需要使用 JQuery 向每个人附加一个方法 onchange 。现在我有这个:

$('#datetimepicker6').datetimepicker().on('dp.change', function (ev) {
            alert('hey that works!');
        });

,HTML代码为:

<div class='input-group date' name="datepicker" id='datetimepicker{{$contract->id}}' >
      <input type='text' class="form-control" id="fecha"/>
      <span class="input-group-addon">
             <span class="glyphicon glyphicon-calendar">
             </span>
      </span>
</div>

所以,正如你在JQuery中看到的那样,我只有id为datetimepicker6的datetimepicker的代码,但我需要每个日期选择器。我不能把相同的id放到每个人身上,所以我想在它们中添加相同的名称然后在JQuery中获取具有该名称的元素数组并附加事件 dp.change 那么,我该怎么做呢? 我也尝试过:

$('input[name="datepicker"]').each(function() {
            $(this).datetimepicker().on('dp.change', function (ev) {
                alert('hey it works"');
            });
});

但没有任何改变。

1 个答案:

答案 0 :(得分:-1)

通过查看您的代码,可以清楚地看到,当您尝试将jquery添加到静态元素时工作正常,但同时使其成为动态的面临问题。这是因为在静态部分,您使用输入的ID&#34; Parent&#34;那是&#39; datetimepicker6&#39;但是在使其动态化的同时,您要将代码添加到输入本身,因此它无法正常工作。

帮助:

$('.input-group.date').each(function() {
            $(this).datetimepicker().on('dp.change', function (ev) {
                alert('hey it works"');
            });
});

-Thanks