如何在Twitter引导日期选择器中禁用结束日期范围?

时间:2015-05-06 06:03:43

标签: jquery datepicker

我想禁用之前的日期。例如,如果选择开始日期为2015-04-01,则结束日期应仅从2015-04-01开始。应禁用上一个日期。

$(document).ready(function () {
    var nowdate = new Date();
    var now = new Date(nowdate.getFullYear(), nowdate.getMonth(), nowdate.getDate(), 0, 0, 0, 0);
    var startdate = $("#start_date").datepicker({
        format: 'yyyy-mm-dd',
        onRender: function (date) {
            return date.valueOf() > now.valueOf() ? 'disabled' : '';
        }
    }).on('changeDate', function (ev) {
        startdate.hide();
    }).data('datepicker');
    var enddate = $("#end_date").datepicker({
        format: 'yyyy-mm-dd',
        onRender: function (date) {
            return date.valueOf() > now.valueOf() ? 'disabled' : '';
        }
    }).on('changeDate', function (ev) {
        enddate.hide();
    }).data('datepicker');
});

由于

1 个答案:

答案 0 :(得分:3)

正如Aivan所说,有几个项目符合描述 假设您使用的是bootstrap-datepicker here。您可以使用“changeDate”事件捕获所选日期,并将其设置为页面上第二个日期选择器的“开始日期”(使用“setStartDate”方法)。

下面的代码段中的内容:

...
$(".dateStart").datepicker().on("changeDate",function(){
    // Get the selected date
    var startDt = $(".dateStart").datepicker("getDate");
    // Set the 'start date' for the second datepicker 
    $(".dateEnd").datepicker("setStartDate",startDt);
});

$(".dateEnd").datepicker();
...

我为此创建了一个JSFiddle - 你可以看到它在这里工作JSFiddle

希望这有帮助。