Я использую jquery datepicker в своей форме. Я проверяю, является ли дата пустой с помощью jquery и проверяет, выбрана ли дата в воскресенье.
Я использую функцию Blur, поскольку я не мог найти ни одного события выбора даты, которое проверит, пусто ли это значение.
Используя функцию Blur, я могу проверить, является ли дата воскресной, выполнив Ajax в функции setinterval.
Но теперь проблема в том, что если я выберу датупик, и если я превышу время, установленное в функции setinterval. Он не выполняет проверку, является ли день воскресным днем. Как я могу это решить? Я знаю, что увеличение интервала времени может решить это, но я хотел что-то вроде события или somthing, которые могут вызвать функцию, чтобы проверить, является ли эта дата воскресной.
Следующий мой код.
элемент datepicker в html-файле ниже
<p class="datepair" data-language="javascript"> <label>Day<em>*</em></label> <input type="text" id="date_o" placeholder="Please select date" class="date start" /> </p>
Функция JQuery ниже:
$(function(){ $('.datepair input.date').blur(function () { setTimeout(function () { if($("#date_o").val() != '' ){ var date_val = $("#date_o").val(); $.ajax({ data: 'date='+date_val, url:'common/ajax/date_check.php', success:function(data){ if(data=="sunday"){ alert('Sorry You cant book on a Sunday.!!!'); $("#date_o").val(''); }else{ } } }); }else{ } },3000); }); });
и php-файл, чтобы проверить, является ли дата воскресной. который работает в течение 3 секунд, что date_check.php:
if(date('w', strtotime($_REQUEST['date'])) == 0) { echo 'sunday'; }
Используйте .onSelect()
:
$("#date_o").datepicker({ onSelect: function(dateText, inst) { if($("#date_o").val() != '' ){ var date_val = $("#date_o").val(); $.ajax({ data: 'date='+date_val, url:'common/ajax/date_check.php', success:function(data){ if(data=="sunday"){ alert('Sorry You cant book on a Sunday.!!!'); $("#date_o").val(''); }else{ } } }); } } });
Вам также не нужно использовать серверную часть, чтобы проверить, является ли день воскресным:
$("#date_o").datepicker({ onSelect: function(dateText, inst) { var d = new Date(dateText); if(d.getDay() == 0){ alert('You cannot choose sunday!'); $('#date_o').val(''); } } });
Вот работающий jsFiddle