0

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

<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>
4

1 回答 1

1

两个问题:

  1. 构建日期字符串的代码不会将 a 添加0到月份部分。你可以改变你的unavailableDates阵列。

  2. 您需要检查的返回值$.indexOf是否为>=0 而不是等于 0。

有了这两个变化:

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/

于 2013-01-29T02:21:08.497 回答