首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery datepicker允许的日期小于minDate

jquery datepicker允许的日期小于minDate
EN

Stack Overflow用户
提问于 2012-07-01 21:44:49
回答 3查看 5.6K关注 0票数 3

我有一个日期选择器,它不能通过编辑框允许日期早于今天。

代码语言:javascript
运行
复制
var dateOptions = { 
  dateFormat: "mm/dd/yy", 
  constrainInput: true, 
  gotoCurrent: true, 
  minDate: new Date()
};

$('.date').datepicker(dateOptions);
$('.date').datepicker('setDate', new Date());

在html中,它被实现为:

代码语言:javascript
运行
复制
<label class="text14"><strong>Depart</strong></label>
<input type="text" id="tbDTimeOne" maxlength="10" size="10" name="tbDTimeOne" class="colum130 date" /> <img src="images/calendar.png" style="margin-left:-25px;" />

好的,这就是发生的事情。页面被渲染,onready函数被调用,日期输入被设置为今天的日期,用户标签/点击日期输入,日历弹出,用户通过键盘编辑现有的日期并将其设置为今天之前的日期,用户标签切换到下一个字段。接受并显示的输入是minDate之前的日期。

这个问题的解决方案是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-01 22:09:49

Datepicker不限制键盘输入(参见http://bugs.jqueryui.com/ticket/6917)

代码语言:javascript
运行
复制
$('.date').attr('readonly', 'readonly');

将是一个解决方案,但这样您将失去手动输入文本的可能性。如果需要保留此功能,仍可以验证输入http://keith-wood.name/uiDatepickerValidation.html

票数 1
EN

Stack Overflow用户

发布于 2012-07-01 22:09:40

http://docs.jquery.com/UI/Datepicker#option-minDate

代码语言:javascript
运行
复制
minDate: new Date(2011,12,30)
票数 0
EN

Stack Overflow用户

发布于 2017-09-12 01:16:24

另一个可能的选择是使用输入掩码。有了inputs/jQuery,您就可以使用.Mask原型并强制用户输入您正在寻找的有效日期格式。您还可以使用moment.js库来使用自定义的验证组合。

代码语言:javascript
运行
复制
$(".someClass").mask("00/00/0000"); 

这将强制日期为01/01/2017,而不是1/1/1,因为1/1/1会使JS中的日期值混淆。

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

https://stackoverflow.com/questions/11282477

复制
相关文章

相似问题

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