我一直在为我的项目使用jquery-ui,最近我发现如果日期范围不是当前年份,则datepicker小部件中有一个错误,它不会选择日期。看看这个example。但是,如果您更改年份并选择某个日期,则需要使用正确的值。我知道在jquery中有BUG票,他们将在下一个版本v.1.11上解决bcoz jquery ui是大js我很少偏执进入文件并修改它。是否存在我现在可以使用的黑客攻击或可能的解决方案
$('#test').datepicker({
yearRange: '-100:-18',
changeMonth: true,
changeYear: true
});
答案 0 :(得分:1)
一种黑客的解决方法是明确地将defaultDate
设置为打开时由datepicker显示的那个;或其他一些合理的默认值:
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
});
答案 1 :(得分:1)
检查此方法
<强> FIDDLE DEMO 强>
$('#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('/'));
}
});