6

我正在使用具有以下版本的 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。

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

4

2 回答 2

1

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

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

于 2013-06-19T13:48:50.637 回答
1

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

你有没有尝试过:

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

示例显示您需要一个输入字段。所以我假设 $('input[id^="datepickerfrom"]') 是你的输入字段。

于 2013-06-19T09:58:53.283 回答