如何在init之后禁用jQuery Datepicker天?

时间:2015-05-07 18:35:20

标签: jquery datepicker

请看一下这段代码:

var array = ["2013-03-14","2013-03-15","2013-03-16"]

$('input').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [ array.indexOf(string) == -1 ]
    }
});

这会在初始化期间禁用日期。如何在初始化后禁用额外的天数?

1 个答案:

答案 0 :(得分:0)

您的代码已经执行此操作。每次显示日期选择器时,都会读取包含要禁用的日期的array变量。因此,您可以简单地更新其值,并在下次加载时自动反映这些更改。

var array = ["2015-05-14","2015-05-15","2015-05-16"]

$('input').datepicker({
    beforeShowDay: function(date){
        var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
        return [ array.indexOf(string) == -1 ]
    }
});

$('button').click(function() {
    array.push('2015-05-20', '2015-05-21', '2015-05-22');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>

<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">

<input />

<button>Disable more days</button>

要查看此操作,请先点击input查看最初的停用日期。然后单击button并再次打开日期选择器以查看额外的禁用日期。