我已经动态创建了文本框,并且我希望它们中的每一个都能够在单击时显示日历。我使用的代码是:
$(".datepicker_recurring_start" ).datepicker();
它只适用于第一个文本框,即使我所有的文本框都有一个名为datepicker_recurring_start的类。
非常感谢您的帮助!
发布于 2012-05-03 22:18:26
诀窍是这样的:
$('body').on('focus',".datepicker_recurring_start", function(){
$(this).datepicker();
});
$('...selector..').on('..event..', '...another-selector...', ...callback...);
语法表示:
为事件焦点(在我们的例子中是‘body
’)添加一个监听器到...selector..
(在我们的例子中是body
)。对于匹配选择器...another-selector...
(在我们的示例中为.datepicker_recurring_start
)的匹配节点的所有后代,应用事件处理程序...callback...
(在我们的示例中为内联函数)
请参阅http://api.jquery.com/on/,特别是关于“委托事件”的部分
发布于 2014-02-12 17:37:12
对于下面的我来说,jquery起作用了:
将"body“更改为”document“
$(document).on('focus',".datepicker_recurring_start", function(){
$(this).datepicker();
});
注意:请确保每个字段的id不同
发布于 2015-12-17 20:16:07
skafandri +1的出色回答
这只是为了检查hasDatepicker类而更新的。
$('body').on('focus',".datepicker", function(){
if( $(this).hasClass('hasDatepicker') === false ) {
$(this).datepicker();
}
});
https://stackoverflow.com/questions/10433154
复制相似问题