Jquery UI日期选择器禁用启用星期日,星期四并禁用特定日期

时间:2013-01-29 01:48:03

标签: jquery-ui jquery-ui-datepicker

我试图只在星期四和星期日启用,但也禁用某些特定的星期日或星期四。 我正在尝试使用此功能,但它还没有工作:

<script>
    var unavailableDates = ["2013-03-31", "2013-03-24"];

    function disabledays(date) {

        ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
        if ($.inArray(ymd, unavailableDates) == 0) {
            return [false, "", "Unavailable"]
        } else {

        //Show only sundays and thuersdays
        var day = date.getDay();
        return [(day == 0 || day == 4)];

    }

$('#txtDate').datepicker({
    beforeShowDay: disabledays

})

</script>

1 个答案:

答案 0 :(得分:0)

两个问题:

  1. 构建日期字符串的代码不会在月份部分添加0。您可以更改unavailableDates数组。

  2. 您需要检查$.indexOf的返回值,看它是>= 0而不是等于零。

  3. 同时进行两项修改:

    var unavailableDates = ["2013-3-31", "2013-3-24"];
    
    function disabledays(date) {
        var ymd = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate();
        if ($.inArray(ymd, unavailableDates) >= 0) {
            return [false, "", "Unavailable"];
        } else {
            //Show only sundays and thuersdays
            var day = date.getDay();
            return [(day == 0 || day == 4)];
        }
    }
    
    $('#txtDate').datepicker({
        beforeShowDay: disabledays
    });
    

    示例: http://jsfiddle.net/XJKbV/