Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置jquery datepicker一周中的某些天不可查找_Javascript_Jquery_Datepicker - Fatal编程技术网

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”];在这里我可以添加具体的日期,它将被禁用