我使用两个jQuery日期选择器,基于生成的数组禁用日期。当我将$("#date")日期选择器放在$('输入')之后,这样可以正常工作。但是,我还需要设置一个今天的设置,并将maxDate设置为1年后;当订单是另一种方式时,它可以工作。我怎样才能使它们都起作用?
x == 1.0
答案 0 :(得分:0)
我不会尝试在同一个DOM元素上应用两个选择器('input'和'#date'),因为第二个可以覆盖第一个配置的内容。如果您希望两个日期选择器共享相同的beforeShowDay
函数,您可以将其声明一次并将其分配给每个日期选择器。
我不清楚你想要达到什么目标。但是,使用常见beforeShowDay
函数的以下方法可能会有所帮助。在任何情况下,下面的示例将向您展示如何在您的问题中插入包含datepicker的JSFiddle,以阐明您的需求。
$(function() {
var array=['2016-12-08']; //disabled dates for the beforeShowDay go here
var beforeShowDay = function(date){
var string = jQuery.datepicker.formatDate('yy-mm-dd', date);
return [$.inArray(string, array) == -1];
};
$( "#date" ).datepicker({
beforeShowDay: beforeShowDay,
dateFormat: 'yy-mm-dd',
minDate: new Date(),
maxDate: '+1y',
onSelect: function(date){
var selectedDate = new Date(date);
var msecsInADay = 86400000;
var endDate = new Date(selectedDate.getTime() + msecsInADay);
$("#date1").datepicker( "option", "minDate", endDate );
$("#date1").datepicker( "option", "maxDate", '+1y' );
}
});
$("#date1").datepicker({
beforeShowDay: beforeShowDay,
dateFormat: 'yy-mm-dd'
});
});
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<input id="date">
<input id="date1">