我有一个input类型的date,它使用jQuery数据报警器。从文档中可以看出,默认情况下年份范围是:c-10:c+10,它将显示过去10年以及当前选定日期的未来10年。
问题是,我不希望这是一件事,我希望能够有更多的选择,从默认位置。我已经尝试将插件更改为:yearRange:"c-20:c+20",但是它没有工作,它保留了-10+10分页。我已经尝试了以下解决方案:
$( ".selector" ).datepicker({
yearRange: "2002:2012"
});哪一个会起作用,但有年的限制,这不是我想要的?我已经试过了以下一种:
$( ".selector" ).datepicker({
minDate: new Date(1990, 1 - 1, 1)
});但也没有奏效,行为仍然是c-10:c+10。
发布于 2017-10-09 16:00:40
你想把范围从今天的日期定在-10或+10,对吗?
由于该选项需要一个字符串,所以可以构建一个字符串来创建自定义范围:
var earliest_date = new Date().getFullYear() - 20;
var latest_date = new Date().getFullYear() + 20;
// date_range will be 1997:2037
var date_range = earliest_date + ':' + latest_date;
$( ".selector" ).datepicker({
yearRange: date_range
});希望这能帮上忙!
更新:
我注意到在jsFiddle中,分页的行为和预期一样,防止用户通过2037年12月或1997年1月之前,但是用户仍然可以手动在输入中输入任何日期。
要阻止这种情况,您需要设置minDate和maxDate,而不是yearRange。
var earliest_date = new Date(new Date().setFullYear(new Date().getFullYear() - 20))
var latest_date = new Date(new Date().setFullYear(new Date().getFullYear() + 20))
//var date_range = earliest_date + ':' + latest_date;
$( ".selector" ).datepicker({
minDate: earliest_date,
maxDate: latest_date
});https://stackoverflow.com/questions/46650172
复制相似问题