我像这样渲染我的 jQuery 日期选择器...
HTML
:
<div id="datepicker"></div>
JS
:
$(function () {
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
beforeShowDay: enableAllTheseDays,
dayNamesMin: [ "M", "T", "W", "T", "F", "S", "S" ],
duration: "slow",
showOtherMonths: true,
onSelect: function(date) {
}
}
}
})
})
因此,当我在日历上选择一个日期时,它会将一个类附加到 td
名为 ui-datepicker-current-day
的元素和内在a
元素有ui-state-active
添加到其中。
我正在尝试,因此再次单击该元素,将其关闭。但是,我无法在日期选择器中触发 onClick 事件。
我可以将 onClick 事件附加到 html
的其他元素在页面上。但是 jQuery UI 日期选择器中的任何内容都不会触发任何点击事件。
有人知道我做错了什么吗?
最佳答案
首先,你有一个 JavaScript 错误(检查控制台) - 这是一个解析错误。你没有关闭括号。这就是为什么 onclick 不起作用的原因。
关于您的全局问题,请尝试以下操作:
$(function () {
var previousValue = null;
$('#datepicker').datepicker({
dateFormat: 'dd/mm/yy',
beforeShowDay: enableAllTheseDays,
dayNamesMin: [ "M", "T", "W", "T", "F", "S", "S" ],
duration: "slow",
showOtherMonths: true,
onSelect: function(date) {
if (previousValue == $(this).val()) {
$("#datepicker").datepicker('setDate', null);
}
previousValue = $(this).val();
}
});
});
http://jsfiddle.net/rafii/kgkpLakj/3/
唯一的问题是,当您重置日期选择器时 - 它会设置当前日期。
编辑:添加这个(这个 fiddle 中的整个函数:http://jsfiddle.net/rafii/kgkpLakj/4/)
在日期选择器配置中:
defaultDate: null
在 onSelect 函数中:
$('a.ui-state-active').removeClass('ui-state-active');
关于javascript - 切换事件日期 jQuery dateclicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978131/