2017-08-29 8 views
1

datepickerに年に3日しか表示できないのでしょうか?これは私がこれまでに得たものであるjQuery UI DatePicker - 年間3日間のみ表示

は:

JS:

var availableDates = ["28-12-2017","29-12-2017","30-12-2017"]; 

function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + 
    date.getFullYear(); 
    if ($.inArray(dmy, availableDates) !== -1) { 
    return [true, "","Available"]; 
    } else { 
    return [false,"","unAvailable"]; 
    } 
} 

$('#date').datepicker({ beforeShowDay: available }); 

CSS:

.ui-datepicker-unselectable {display: none;} 

jsfiddle link

+0

あなたが答えに満足すれば、この解決策に印を付けてください。 –

+0

未使用の日を隠す方法はありますか? –

+0

週末に基づいて非表示にすることができます –

答えて

0

このバイオリンを使用してください:

JS:

var availableDates = ["28-12-2017", "29-12-2017", "30-12-2017"]; 

function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, availableDates) !== -1) { 
    return [true, "", "Available"]; 
    } else { 
    return [false, "", "unAvailable"]; 
    } 
} 

$('#date').datepicker({ 
    beforeShowDay: available, 
    dateFormat: "dd-mm-yy", 
    minDate: availableDates[0], 
    maxDate: availableDates[2] 
}); 

ませCSS必要。

無効な日付で完全な月を表示すると、日付を隠すのではなくユーザーが分かりやすくなります。

デモ:http://jsfiddle.net/szYYY/52/

2

親愛なるあなたはdefaultDateを忘れてしまった、これを試してください。

var availableDates = ["28-12-2017","29-12-2017","30-12-2017"]; 

    function available(date) { 
    dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear(); 
    if ($.inArray(dmy, availableDates) !== -1) { 
     return [true, "","Available"]; 
    } else { 
     return [false,"","unAvailable"]; 
    } 
    } 

    $('#date').datepicker({ beforeShowDay: available, defaultDate: "12/28/2017" }); 

私はハードコードされた日付を削除し、コードをより汎用的にするために、あなたをお勧めしますhttp://jsfiddle.net/szYYY/50/

関連する問題