我正在使用带有以下版本的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。
可能是什么问题?我该如何解决?
答案 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
,这是我唯一改变的地方。或者问题实际上是你的添加和删除功能,如果是这样你应该把它们放在你的帖子中。