在日期选择器中禁用过去日期并仅启用某些未来日期

Disable past dates and enable only certain future dates in datepicker

本文关键字:日期 启用 未来 过去 选择器      更新时间:2023-09-26

我正在尝试使用jQuery日期选择器,但希望禁用所有过去的日子,只允许未来的星期四。我可以让它允许星期四,但是我添加的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>

谁能解释一下为什么这些不能一起工作?

您可以通过逗号分隔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
   });
});

它们在你的问题中不起作用的原因是因为你会用documentReady部分中的日期拾取器中的选项覆盖第10行函数中创建的日期拾取器中的选项。

你基本上是说创建一个带有mindate:0的新日期选择器,更不用说创建一个只有星期二的新日期选择器了。

实际情况是,您正在用第二个调用覆盖第一个日期拾取器调用的效果。

将两个选项放到一个选项对象

$("#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" />

$("#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" />