特定の日付を無効にする必要があるカレンダーがあります。jquery datepickerで特定の日付を無効にすることはできません
私はspiceforms.com/blog/how-to-disable-dates-in-jquery-datepicker-a-short-guide/のコードを例として使用していましたが、それはうまくいきましたが、動作を停止し、私は原因を見つけることができない、 私のコードは次のとおりです。
function Disableentries(date) {
// here I get an array of dates in yyyy-mm-dd format
var datesarray = datesfromcalendar();
var arraynoentry = datesarray[0];
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
var currentdate = y + '-' + (m + 1) + '-' + d ;
// We will now check if the date belongs to disabled dates array
for (var i = 0; i < arraynoentry.length; i++) {
// Now check if the current date is in disabled dates array.
if (jQuery.inArray(currentdate, arraynoentry) != -1) {
return [0];
}else{
return [1];
}
}
}
jQuery(function() {
jQuery("#edit-available-from-datepicker-popup-0-bloque").datepicker({
minDate: 0,
beforeShowDay: Disableentries,
dateFormat: 'dd-mm-yy',
});
});
私はいくつかの日付が無効になってもらうが、彼らは、アレイ内のものじゃない、このコードの結果。私は2016年12月31日に2016年10月29日から全カレンダー無効取得し、マイ無効の日付が下の写真に示したものであり、何も: calendar 1 calendar 2
は¿コードで何も悪いことはありませんまたはこの問題を解決する他の方法ですか?
編集:datesfromcalendar()関数は、ピクチャに表示されるカレンダーから に設定する必要がある日付を取得します。ここ コードです:私は、問題を発見した
function datesfromcalendar(){
var arraynoentry= ['2000-01-15'];
var arraynoexit= ['2000-01-16'];
jQuery('.cal-month').each(function(){
var month = jQuery(this).data("cal-month");
var year = jQuery(this).data("cal-year");
//alert(month);
var noentry = jQuery(this).find('.cal-na-pm');
var noexit = jQuery(this).find('.cal-na-am');
jQuery.each(noentry,function(){
var day = jQuery(this).text();
arraynoentry.push(year + "-" + month + "-" + dia);
//block entries
//alert('hello');
})
jQuery.each(nosalida,function(){
var day = jQuery(this).text();
arraynoexit.push(year + "-" + month + "-" + dia);
//block exits
//alert('bye');
})
})
var results = [arraynoentry,arraynoexit];
return results;
}
は、私たちに正常に動作し、私は(私はそれを最初にチェックする)写真のカレンダーから入手無効日付を返すdatesfromcalendarあなたの関数 'datesfromcalendar()'すぎ – urbz
機能を表示します私はそれをとにかくここに入れます。 –