我有一个应用程序,动态更改日期选择器的最小/最大日期(因此,设置范围)。 我想在输入附近显示这个范围,以便用户可以看到范围。有几个动作,可以导致最小/最大日期的更改,所以我想每次调用选项更改时都这样做。当然,我可以为每个更改新部件进行代码和粘贴,但是......你理解:)
我想要什么: 某些事件,如onChangeOption,每次触发,都会更改datepickers选项。有这样的事吗?或任何想法?
答案 0 :(得分:0)
为什么不进行一些覆盖,例如:
(function(){
var oldDP = $.fn.datepicker;
$.fn.datepicker = function()
{
var options = (arguments.length > 0 ? arguments[0] : null);
console.log(options, arguments);
if (typeof(options) === 'string' && options === 'option' && arguments.length === 3 && typeof(arguments[1]) === "string" && (arguments[1] === 'maxDate' || arguments[1] === 'minDate'))
{
$(this).trigger('myCustomTrigger');
}
return oldDP.apply(this, arguments);
}
})();
$('body').append("<input id='test'>");
$('#test').datepicker();
$('#test').on('myCustomTrigger', function(){
console.log("New #test maxDate set");
});
$('#test').datepicker('option', 'maxDate', "+1m +1w");
$('#test').datepicker('option', 'maxDate');
这只是一个想法&#34;。示例i创建一个调用实际datepicker的包装器,如果调用datepicker set option maxDate,则触发自定义事件。我甚至没有说出正确或最佳的方式。