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

2 つの問題:

  1. 0日付文字列を作成するコードは、月の部分に a を追加しません。unavailableDates配列を変更できます。

  2. の戻り値をチェックして、ゼロに等しいだけでなく、0 である$.indexOfかどうかを確認する必要があります。>=

両方の変更で:

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 に答える