Jquery UI date Picker отключить включение воскресенья, четверга и отключить определенные даты

Я пытаюсь включить только четверги и воскресенья, но также отключить некоторые конкретные воскресенья или четверги. Я пытаюсь с этой функцией, но она еще не работает:

<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 ответ

Решение

Две проблемы:

  1. Код, который создает строку даты, не добавляет 0 в месячной части. Вы можете изменить свой unavailableDates массив.

  2. Вам нужно проверить возвращаемое значение $.indexOf чтобы увидеть, если это >= 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/

Другие вопросы по тегам