jquery-ui - 当从 ajax 加载 html 时,启用 jQuery datepicker

标签 jquery-ui jquery datepicker

我在所有表单上定义了以下 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初始化后。

演示: http://jsfiddle.net/Mq93s/

关于jquery-ui - 当从 ajax 加载 html 时,启用 jQuery datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10468672/

相关文章:

javascript - Jquery 自动完成,如何搜索单词而不是字符串

javascript - jQuery 不在 .append() 之后发布表单的所有输入

javascript - 按数据属性、字母顺序和数字顺序对列表项进行排序

javascript - 将一系列 If 语句组合成一个代码

java - 使用日期更改按钮的文本

jQuery 日期选择器 : Get Selected Date

android - 在 Fragment 中实现 DatePicker

javascript - 在 jQuery 布局插件上调整大小时,放置在调整器上的按钮消失

css - 使用 jQueryUI 日期选择器时无法更改输入背景颜色

javascript - 响应表不显示列值