Javascript 设置jquery datepicker一周中的某些天不可查找
我有这个功能,将收集某些天的数值,以便在另一个功能中使用,将禁用这些天Javascript 设置jquery datepicker一周中的某些天不可查找,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,我有这个功能,将收集某些天的数值,以便在另一个功能中使用,将禁用这些天 /* grab off days*/ function off(){ for (var key in offDays) { if (offDays.hasOwnProperty(key)) { return offDays[key]; } } } 例如,将返回0,星期日和星期一返回1。现在我想用这些天来禁用datepicker上的天,但是当我
/* grab off days*/
function off(){
for (var key in offDays) {
if (offDays.hasOwnProperty(key)) {
return offDays[key];
}
}
}
例如,将返回0,星期日和星期一返回1。现在我想用这些天来禁用datepicker上的天,但是当我使用下面的代码时,它只禁用顺序中的第一个。我想我需要以某种方式循环,但是如何
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
//console.log('Checking (raw): ' + m + '-' + d + '-' + y);
for (i = 0; i < disabledDays.length; i++) {
if($.inArray((m+1) + '-' + d + '-' + y,disabledDays) !== -1 || new Date() > date) {
//console.log('bad: ' + (m+1) + '-' + d + '-' + y + ' / ' + disabledDays[i]);
return [false];
}
if(date.getDay() === off()){
return [false];
}
}
var m=date.getMonth(),d=date.getDate(),y=date.getFullYear();
//日志('检查(原始):'+m+'-'+d+'-'+y);
对于(i=0;i日期){
//log('bad:'+(m+1)+'-'+d+'-'+y+'/'+disabledDays[i]);
返回[假];
}
如果(date.getDay()==off()){
返回[假];
}
}
检查最后一条if语句您可以使用
beforeShowDay
功能检查给定日期是否启用:
beforeShowDay: function (a) {
var d = a.getFullYear() + '-' + (a.getMonth() + 1) + '-' + a.getDate();
if (d==='2014-1-20') {//WILL DISABLE 20 Jan 2014
return [false, "", "disabled date"];
} else {
return [true, "", ""];
}
}
这里有一个工作示例请尝试
var disabledDays = ["1-24-2014"];
var offDays = {
"tues": 2,
"weds": 3,
"thurs": 4
};
var offds = $.map(offDays, function (day) {
return day
})
$('input').datepicker({
beforeShowDay: function (date) {
var m = date.getMonth(),
d = date.getDate(),
y = date.getFullYear(),
str = (m + 1) + '-' + d + '-' + y;
if ($.inArray(str, disabledDays) !== -1 || new Date() > date) {
return [false];
}
if ($.inArray(date.getDay(), offds) !== -1) {
return [false];
}
return [true]
}
})
演示:offDays是什么它是一个数组吗?是的!例如{“周二”:2,“周三”:3,“周四”:4}您也可以共享
disabledDays
var disabledDays=[“1-14-2014”];在这里我可以添加具体的日期,它将被禁用