我已经在jQueryUiDatepicker中运行了代码,它禁用星期五和星期六以及所有前几天(加上2天)。我的问题是尝试向现有的Datepicker代码添加2个特定日期,这些代码也将禁用这些日期。
这是我在jQueryUiDatepicker的第92行的现有代码:
beforeShowDay: function(date) {
var show = true;
if(date.getDay()==5||date.getDay()==6) show=false
return [show];
},
beforeShow: function(){
var dateTime = new Date();
var hour = dateTime.getHours();
//If Hour is greater or equals to 8AM
if(hour >= 08){
//Disable all past days including tomorrow and today
$(this).datepicker( "option", "minDate", "+2" );
}
},
我试图在2017年10月18日和19日停用并失败,这是我在上面的代码下直接添加的代码:
beforeShowDay: var array = ['18/10/2017', '19/10/2017']
$('input').datepicker({
beforeShowDay: function(date){
var string = jQuery.datepicker.formatDate('dd/mm/yy', date);
return [ array.indexOf(string) == -1 ]
},
我的问题是如何禁用所有以前的日期,所有星期五和星期六以及10月份的这两个日期?
答案 0 :(得分:1)
希望这有帮助
使用inArray代替indexOf
,您还可以使用minDate
var array = ["18/10/2017", "19/10/2017"];
$(function() {
$('input').datepicker({
minDate: new Date(),
beforeShowDay: function (date) {
$thisDate = date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear();
var day = date.getDay();
if ($.inArray($thisDate, array) == -1&&day!=5&&day!=6) {
return [true, ""];
} else {
return [false, "", "Unavailable"];
}
}
});
});