首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导DatePicker使用onRender禁用多个日期

引导DatePicker使用onRender禁用多个日期
EN

Stack Overflow用户
提问于 2014-11-11 02:50:57
回答 1查看 5.5K关注 0票数 0

我正在使用eyecon的Bootstrap Datepicker插件,在这里可以找到- http://www.eyecon.ro/bootstrap-datepicker/

我试图使用onRender事件来禁止选择多个日期。我需要禁用所有日期后,今天(未来的日期)的检查和结帐。该签出还需要任何日期,等于或之前的检查,也禁用。尽管Checkout根本不起作用,但Checkin工作得很好。

很肯定,问题是我没有正确地返回值,因为我的逻辑似乎很好。

下面是我的尝试,使用来自Datepicker网站的示例代码:

HTML:

代码语言:javascript
复制
Check in: <input type="text" class="span2" value="" id="dpd1"></input>
Check out: <input type="text" class="span2" value="" id="dpd2"></input>

JS:

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

工作演示

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-11 07:03:49

您需要检查所选日期是否小于或不大于签出日期。

代码语言:javascript
复制
 if (ev.date.valueOf() < checkout.date.valueOf()) {

检查的onRender方法,您正在检查日期是否在今天之前和签入日期之前,这永远不可能是真的。您应该检查一下从签入日期到今天之间的情况。希望这是你想要的。

代码语言:javascript
复制
onRender: function (date) {
    return (date.valueOf() < now.valueOf()) && (date.valueOf()>= checkin.date.valueOf()) ? '' : 'disabled';
}

演示小提琴

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

https://stackoverflow.com/questions/26856670

复制
相关文章

相似问题

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