我在所有表单上定义了以下 jQuery 脚本。
$( "input:text.datepicker" ).datepicker({
yearRange: "1900:+0",
changeMonth: true,
changeYear: true
});
基本上,这会在任何类型为文本且具有“datepicker”类的输入元素上调用日期选择器。
这在所有页面上都可以正常工作,除了我在下面描述的一种情况。
我必须通过 ajax 加载表单,然后将其显示在 jQueryUI 对话框中。在此对话框中,我只能让日期选择器显示 如果 我再次包含 java 脚本代码。显然我不想包含两次代码。有没有办法让新加载的文本框以某种方式显示日期选择器?
谢谢
最佳答案
一种选择是use on
method以已弃用 live
方式和 click
event初始化日期选择器:
$('body').on('click', 'input.datepicker', function(event) {
$(this).datepicker({
showOn: 'focus',
yearRange: '1900:+0',
changeMonth: true,
changeYear: true
}).focus();
});
此代码应放置在 $(document).ready
部分。
注意showOn: 'focus'
选项和触发focus
event初始化后。
关于jquery-ui - 当从 ajax 加载 html 时,启用 jQuery datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10468672/