首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery日历分页限制

jQuery日历分页限制
EN

Stack Overflow用户
提问于 2017-10-09 15:38:03
回答 1查看 304关注 0票数 3

我有一个input类型的date,它使用jQuery数据报警器。从文档中可以看出,默认情况下年份范围是:c-10:c+10,它将显示过去10年以及当前选定日期的未来10年。

问题是,我不希望这是一件事,我希望能够有更多的选择,从默认位置。我已经尝试将插件更改为:yearRange:"c-20:c+20",但是它没有工作,它保留了-10+10分页。我已经尝试了以下解决方案:

代码语言:javascript
复制
$( ".selector" ).datepicker({
  yearRange: "2002:2012"
});

哪一个会起作用,但有年的限制,这不是我想要的?我已经试过了以下一种:

代码语言:javascript
复制
$( ".selector" ).datepicker({
  minDate: new Date(1990, 1 - 1, 1)
});

但也没有奏效,行为仍然是c-10:c+10

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-09 16:00:40

你想把范围从今天的日期定在-10或+10,对吗?

由于该选项需要一个字符串,所以可以构建一个字符串来创建自定义范围:

代码语言:javascript
复制
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月之前,但是用户仍然可以手动在输入中输入任何日期。

要阻止这种情况,您需要设置minDatemaxDate,而不是yearRange

代码语言:javascript
复制
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
});

我更新了jsFiddle。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46650172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档