jQueryUI datepicker格式化日期范围在新日期清除其合作伙伴

时间:2013-09-04 07:54:23

标签: jquery jquery-ui date datepicker date-formatting

我有两个输入字段,显示月/年。不应该选择日期,只有月份和年份实际相关,因此使用月份的第一天。

它们每个都有一个alt字段,用于向服务器发送适当的值。

但是,只要在一个字段中选择了日期,并且另一个字段中设置了 min maxDate ,那么该字段将清除其字段。 我已对传递的值进行了一些广泛的调试,并且只能将其缩小到问题日期的格式。我似乎无法想到为什么使用额外的代码来解析和创建一个合适的日期。

Jsfiddle

第13行和第40行触发错误:

$('#user_range2').datepicker('option', 'minDate', $('#user_range1').datepicker('getDate'));

我在jsfiddle上试验了几个jQuery版本,但似乎都没有修复。

有谁知道我如何保持格式化,让它按预期工作?

更新

我已将其缩小到这个问题。由于格式中没有日期,以下行将抛出异常(来自jqueryui.js @ parseDate()):

date = this._daylightSavingAdjust(new Date(year, month - 1, day));
    if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) {
        throw "Invalid date"; // E.g. 31/02/00
    }

除非有办法规避这一点,否则当想要限制两个字段的范围时,似乎不可能没有格式的日期。

1 个答案:

答案 0 :(得分:0)

这对我来说很好用:

从日期开始:

$( "#datepicker_start" ).datepicker({
        onClose: function( selectedDate ) {
            $( "#datepicker_end" ).datepicker( "option", "maxDate", selectedDate );
        }
});

迄今为止:

$( "#datepicker_end" ).datepicker({
        onClose: function( selectedDate ) {
            $( "#datepicker_start" ).datepicker( "option", "maxDate", selectedDate );
        }
});