我正在使用eyecon的Bootstrap Datepicker插件,在这里可以找到- http://www.eyecon.ro/bootstrap-datepicker/
我试图使用onRender事件来禁止选择多个日期。我需要禁用所有日期后,今天(未来的日期)的检查和结帐。该签出还需要任何日期,等于或之前的检查,也禁用。尽管Checkout根本不起作用,但Checkin工作得很好。
很肯定,问题是我没有正确地返回值,因为我的逻辑似乎很好。
下面是我的尝试,使用来自Datepicker网站的示例代码:
HTML:
Check in: <input type="text" class="span2" value="" id="dpd1"></input>
Check out: <input type="text" class="span2" value="" id="dpd2"></input>JS:
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
var checkin = $('#dpd1').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();
$('#dpd2')[0].focus();
}).data('datepicker');
var checkout = $('#dpd2').datepicker({
onRender: function (date) {
return (date.valueOf() > now.valueOf()) && (date.valueOf() <= checkin.date.valueOf()) ? 'disabled' : '';
}
}).on('changeDate', function (ev) {
checkout.hide();
}).data('datepicker');工作演示
发布于 2014-11-11 07:03:49
您需要检查所选日期是否小于或不大于签出日期。
if (ev.date.valueOf() < checkout.date.valueOf()) {检查的onRender方法,您正在检查日期是否在今天之前和签入日期之前,这永远不可能是真的。您应该检查一下从签入日期到今天之间的情况。希望这是你想要的。
onRender: function (date) {
return (date.valueOf() < now.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';
}演示小提琴
https://stackoverflow.com/questions/26856670
复制相似问题