0

我一直在为我的项目使用 jquery-ui,最近我发现 datepicker 小部件中有一个错误,如果日期范围不是当前年份,则不会选择选定日期。看看这个例子。但是,如果您更改年份并选择某个日期,则它会采用正确的值。我知道 jquery 中有BUG票,他们将在下一个版本 v.1.11 上解决 bcoz jquery ui is big js 我有点偏执地进入文件并修改它。我现在可以使用 hack 或可能的解决方案吗

$('#test').datepicker({
    yearRange: '-100:-18',
    changeMonth: true,
    changeYear:  true
});
4

2 回答 2

1

A hackish workaround is to explicitly set the defaultDate to the one which is shown by the datepicker when it is opened; or to some other reasonable default value:

var defaultDate = new Date();
defaultDate.setHours(0, 0, 0, 0);
defaultDate.setYear(defaultDate.getYear() - 100);
console.log(defaultDate); // current month, current date, current year - 100
$('#test').datepicker({
    yearRange: '-100:-18',
    changeMonth: true,
    changeYear: true,
    defaultDate: defaultDate
});

Demo here

于 2013-09-02T08:29:05.680 回答
1

检查这个作品

小提琴演示

$('#test').datepicker({
    yearRange: '-100:-18',
    changeMonth: true,
    changeYear:  true,
    onSelect: function(dateText, inst) {
              var d = new Date(dateText);
              var selectedYear = d.setFullYear(parseInt($('.ui-datepicker-year :selected').text())); // selected year      
        $('#test').val([d.getMonth()+1, d.getDate(), d.getFullYear()].join('/'));

           }
});
于 2013-09-02T08:45:26.180 回答