読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

datepickerでも選択してほしくない日付ってあるんですー!(>< (訳:datepickerで選択させたくない日付を設定する方法)

JavaScript jQuery jQuery UI

スポンサードリンク

なんかテンションがおかしいお(^ω^ = ^ω^)おっおっおっ


先程からdatepickerを連チャンしていますが、せっかく色々検証したのでハマったところをバシバシあげていくお。


さて、日付を入力してpostすると保存するシステムで、view側で予めdatepickerの特定の日付をdisabledにできないかなーと思ったので、探してみるとあったからメモ。

var dateFormat   = 'yy/mm/dd';
var disableDates = ['2015/01/01', '2015/01/03']; // ここがミソ
$("#checkInString").datepicker({
    format      : dateFormat,
    language    : 'ja',
    autoclose   : true,
    clearBtn    : true,
    clear       : '閉じる',
    changeMonth : true,
    changeYear  : true,
    startDate   : 'today',
    beforeShowDay : function(date) {
        var disableDate = $.datepicker.formatDate(dateFormat, date);
        return ( disableDates.indexOf(disableDate) == -1 );
    }
});


こうすることでdatepicker呼び出し時に、beforeShowDayが日付にdisabledをつけてくれるか判定してくれます。

んで、ミソ部分にサーバから配列で日付を渡してあげればview側でそもそも入力させないviewの完成どす。