2017-09-07 100 views
0

我一直试图实现一些额外的代码来禁用日期范围的日期在我的日期范围选择器,从我的研究我相信我需要使用beforeShowDay,有array中的日期,如果日期在array中,则返回false,但每次我尝试在某些代码中尝试spanner时,将返回错误代码。我必须承认我不太了解JavaScript,只有在必要时才将它用于插件,任何帮助都会得到感谢。日期选择器 - 禁用未来的日期范围

var dateToday = new Date(); 
var dates = $("#from, #to").datepicker({ 
defaultDate: "+1w", 
changeMonth: true, 
numberOfMonths: 1, 
minDate: dateToday, 
onSelect: function(selectedDate) { 
    var option = this.id == "from" ? "minDate" : "maxDate", 
     instance = $(this).data("datepicker"), 
     date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); 
    dates.not(this).datepicker("option", option, date); 
} 
}); 

我想从2nd of December 2017禁用对January 27th 2018

+1

首先谷歌搜索我做了:[jQuery UI日期选择器。禁用数组日期](https://stackoverflow.com/questions/15400775/jquery-ui-datepicker-disable-array-of-dates) – Granny

+0

啊是的,谢谢你伊万我遇到过这个职位,但无法执行它到我现有的代码中 - 其中已包含其他功能,您能否帮助我添加此代码? – Sam1486

回答

1

$('#datePick').datepicker({ 
 
    defaultDate: "+1w", 
 
    changeMonth: true, 
 
    numberOfMonths: 1, 
 
    minDate: new Date(), 
 
    beforeShowDay: function(date){ 
 
     var val = new Date("2017-12-02") >= date || new Date("2018-01-28") < date ; 
 
     return [ val ] 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script> 
 
<link href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/redmond/jquery-ui.css" rel="stylesheet"/> 
 

 
// disabled 2nd of December 2017 to January 27th 2018<br> 
 
<input id='datePick'>

使用beforeShowDay并检查哪个日期你需要证明。

相关问题