Jquery получает значение из php для проверки даты выбора

Я пытаюсь получить массив из php (недопустимые даты) и пометить их красным в средстве выбора даты. Ниже код не заполняет unavilableDates. Что я делаю не так .. Он отображает все даты .. Спасибо за любую помощь.

   $(document).on("focus", "#cust_slot1date", function () {
var unavailableDates = [];

$.ajax({
type: "GET",
url: "ddateavbl.php",
success: function (data) {
unavailableDates = data;
}
});

$("#cust_slot1date").datepicker({
dateFormat: 'D dd-M-yy',
beforeShowDay: unavailable
});

function unavailable(date) {
dmy = date.getDate() + '-' + (date.getMonth() + 1) + '-' +     date.getFullYear();
if ($.inArray(dmy, unavailableDates) == -1) {
return [true, ''];
} else {
return [false, '', 'Unavailable'];
}
}

});

0

Решение

Попробуй это,

beforeShowDay: function(date) {
if($.inArray($.datepicker.formatDate('D dd-M-yy', date ), unavilableDates) > -1)
{
return [false,"","Unavailable"];
}
else
{
return [true,'',""];
}
}
0

Другие решения

Это рабочий код, если кто-то ищет. Это решает, что первый фокус не работает и работает со второго раза.

$(document).ready(function(){

var unavailableDates = [];

$.ajax({
type: "GET",
url: "ddateavbl.php",
dataType: 'json',
success: function (data) {
unavailableDates = data;
}
});

$(document).on("focus", "#cust_slot1date", function () {

$("#cust_slot1date").datepicker({
dateFormat: 'D dd-M-yy',
beforeShowDay: function(date) {
if($.inArray($.datepicker.formatDate('dd-mm-yy', date ), unavailableDates) > -1)
{
return [false,"","Unavailable"];
}
else
{
return [true,'',""];
}
}
});

});
});
-1

По вопросам рекламы [email protected]