【发布时间】:2016-10-18 08:15:52
【问题描述】:
我有以下 jQuery datepicker 代码
$('#startDate').datepicker({
format: "dd/mm/yyyy",
maxDate: '0'
})
.on('changeDate', function (ev) {
$('#startDate').datepicker('hide');
});
它以 Bootstrap 模式启动。除了 maxDate 之外,它按预期工作 - 我想限制用户在未来输入任何日期 - 有什么我遗漏的吗?我也试过maxDate : new Date(),但也没有用。我重新加载并检查了开发工具,我可以看到渲染标记中的 java-script 符合预期。
更新了完整的 html 标记。
<input id="startDate" placeholder="Select Date" data-provide="datepicker" class="datepicker ng-valid ng-touched ng-dirty ng-valid-parse" readonly="readonly" style="cursor:auto; background-color:white" ng-model="item.startDate" ng-change="startDateChanged(item.startDate)">
使用 jQuery 1.10.2 和 Angular 1.4.1
【问题讨论】:
-
您所拥有的是正确的,并且应该提供所需的行为。你有链接到它不工作的地方吗?
-
maxDate = $( ".selector" ).datepicker( "getDate" );
-
站点注释,这不会阻止用户在字段中输入未来的日期,而只会阻止他们从日期选择器本身中选择这些未来的日期。
-
对我来说很好,但正如 MasNotsram 所说,它只会阻止他们在 UI 中选择未来的日期,而不是在框中输入它们。另外,您的日期格式设置不正确,应该是
dateFormat: "dd/mm/yy"- 请参阅api.jqueryui.com/datepicker/#option-dateFormat -
最后,你不需要“.on”方法——当有人选择日期时,选择器会自动隐藏。该代码是多余的。
标签: javascript jquery angularjs jquery-ui datepicker