Отключить прошлые даты и включить только определенные будущие даты в DatePicker

Я пытаюсь использовать jQuery DatePicker, но хотите отключить все прошедшие дни и разрешить только будущие четверги. Я могу разрешить четвергам, но minDate функциональность, которую я добавляю, не работает с этим. Это мой код:

<script>

jQuery(document).ready(function() {
    jQuery('#input_40_4').datepicker({
        beforeShowDay: function(date) { return [date.getDay() == 4, ""];}
   });
});

$(function () {
    $("#input_40_4'").datepicker({ minDate: 0 });
});

</script>

Может кто-нибудь объяснить, почему они не работают вместе?

3 ответа

Решение

Вы можете добавить больше параметров к datepicker разделив их запятыми.

$(document).ready(function() {
    $('#input_40_4').datepicker({
        beforeShowDay: function(date) { return [date.getDay() == 4, ""];},
        minDate : 0
        // you can add more options here as well, just seperate them by commas
   });
});

Причина, по которой они не сработали в вашем вопросе, заключалась в том, что вы перезаписали параметры из средства выбора даты, созданного в функции в строке 10, с параметрами из средства выбора даты в разделе documentReady.

Вы в основном говорили, что создайте новый указатель даты с mindate:0, не говоря уже о создании нового только с вторниками.

$("#datepicker").datepicker({
    beforeShowDay: function(date) { return [date.getDay() == 3, ""];},
    minDate: 0
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/black-tie/jquery-ui.css"></link>
<input type="text" id="datepicker" />

Происходит то, что вы перезаписываете эффекты первого вызова DatePicker вторым.

Поместите оба варианта в один объект параметров

$("#input_40_4'").datepicker({
    beforeShowDay: function(date) { return [date.getDay() == 4, ""];},
    minDate: 0
});

демонстрация

$("#datepicker").datepicker({
    beforeShowDay: function(date) { return [date.getDay() == 4, ""];},
    minDate: 0
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.4/themes/black-tie/jquery-ui.css"></link>
<input type="text" id="datepicker" />

Другие вопросы по тегам