【发布时间】:2015-11-13 04:13:56
【问题描述】:
我正在尝试为我的日期选择器设置开始/结束日期,并随身携带我在 Bootstrap-Datepicker 中找到的脚本。我密切关注文档,但脚本只触发.datepicker,它将<input> 变成日期选择器,但行为不是我想要的。请来自社区的一些帮助?
脚本:
<script>
$(document).ready(function () {
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = $('#dateFrom').datepicker({
onRender: function (date) {
return date.valueOf() < now.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
if (ev.date.valueOf() > checkout.date.valueOf()) {
var newDate = new Date(ev.date)
newDate.setDate(newDate.getDate() + 1);
checkout.setValue(newDate);
}
checkin.hide();
$('#dateTo')[0].focus();
}).data('datepicker');
var checkout = $('#dateTo').datepicker({
onRender: function (date) {
return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
checkout.hide();
}).data('datepicker');
});
</script>
这是我的代码:
<div class="form-group">
<div class="row">
<label for="dateFrom" class="col-md-2 control-label">Date From:</label>
<div class="col-md-4">
<div class="input-group date">
<input type="text" id="dateFrom" name="dateFrom" class="form-control col-sm-2" required placeholder="mm/dd/yyyy"/>
<div class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<label for="dateTo" class="col-md-2 control-label">Date To:</label>
<div class="col-md-4">
<div class="input-group date">
<input type="text" id="dateTo" name="dateTo" class="form-control col-sm-2" required placeholder="mm/dd/yyyy" />
<div class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
你能澄清一下吗? “其余的停止运行”到底是什么意思?
-
@saadq datepicker 能够显示在网页上,但我希望 datepicker 的行为方式并没有像我想要的那样工作。
-
您应该更具描述性。预期行为是什么,实际行为是什么?
-
@saadq 我的错。我想要的预期行为是当用户从今天开始选择开始日期并且结束日期不应允许用户选择在开始日期选择的上一个日期。目前,行为是开始日期和结束日期显示日期选择器,但我上面提到的功能不起作用。
-
从文档看来,使用此工具创建限制是不可能的。如果您选择错误,它所允许的只是错误消息,这不一定是对用户的最佳反馈。是否使用例如 jQuery UI Datepicker (jqueryui.com/datepicker) 一个选项?我可以提供示例代码来设置开始的最小日期,并防止结束日期早于开始。
标签: javascript twitter-bootstrap datepicker