删除动态输入字段后,Datetimepicker未正确调用/绑定

时间:2013-06-14 08:54:27

标签: jquery jquery-ui jquery-plugins datepicker datetimepicker

我正在使用带有以下版本的jquery datetimepicker

JQuery v1.7.2
JQuery UI - v1.10.3
jQuery timepicker addon V1.3

在模块中,我通过单击“+”动态创建输入字段,并为动态创建的输入绑定datetimepicker,并通过单击删除该输入字段“ - ”。

我的动态输入字段总是如下所示:

datepickerfrom_1_1
datepickerfrom_1_2
datepickerfrom_1_3
datepickerfrom_1_4
datepickerfrom_1_5
.
.
.

我使用jQuery绑定datetimepicker,如下所示:

$(window).load(function() {
    $('body').on('focus', 'input[id^="datepickerfrom"]', function() { // Id's Containing "datepickerfrom" string, bind the datetimepicker
        $(this).datetimepicker({
            dateFormat: 'yy-mm-dd',
            timeFormat: 'HH:mm:ss'
        });
    });
}); 

创建动态输入时,script(datetimepicker)正常工作。

问题: 我点击“+”添加了一些动态输入字段,然后点击“ - ”删除了一些输入,我再次添加了一些动态输入字段。第二次创建输入字段没有正确调用/绑定datetimepicker。

可能是什么问题?我该如何解决?

2 个答案:

答案 0 :(得分:1)

我认为问题是'on'函数中的jquery上下文。在函数jquery.on中使用$(this)。 $(this)将引用您的主要选择器:$('body')。

你试过了吗?

$('input[id^="datepickerfrom"]').on('focus', function() {

Examples表示您需要输入字段。所以我假设$('input [id ^ =“datepickerfrom”]')是你的输入字段。

答案 1 :(得分:1)

我刚刚在jsfiddle中试过它并且它有效,这里是链接:http://jsfiddle.net/juTRR/

如果你知道你的问题,请在jsfiddle中重现它,这样我们就可以看到它是什么,因为我没有看到它。也许尝试使用$(document).ready代替$(window).load,这是我唯一改变的地方。或者问题实际上是你的添加和删除功能,如果是这样你应该把它们放在你的帖子中。