Javascript日期选择器排除周末,一个日期数组&;每周的一天
我试图从我的日期选择器中排除周末、一系列日期和每周的周一。这就是我到目前为止所做的:Javascript日期选择器排除周末,一个日期数组&;每周的一天,javascript,jquery,date,datepicker,Javascript,Jquery,Date,Datepicker,我试图从我的日期选择器中排除周末、一系列日期和每周的周一。这就是我到目前为止所做的: var disableddates = ["12-21-2015", "12-24-2015", "1-4-2016", "1-5-2016"]; function DisableSpecificDates(date) { var m = date.getMonth(); var d = date.getDate(); var y = date.getFullYear(); var curr
var disableddates = ["12-21-2015", "12-24-2015", "1-4-2016", "1-5-2016"];
function DisableSpecificDates(date) {
var m = date.getMonth();
var d = date.getDate();
var y = date.getFullYear();
var currentdate = (m + 1) + '-' + d + '-' + y ;
for (var i = 0; i < disableddates.length; i++) {
if ($.inArray(currentdate, disableddates) != -1 ) {
return [false];
}
}
var weekend = $.datepicker.noWeekends(date);
return [(weekend[0] || date.getDay() == 1)]; // I'm trying to disable Monday here
}
$(function() {
$("#date").datepicker( {
minDate: setMinDate,
maxDate: "+2M",
beforeShowDay: DisableSpecificDates
});
});
var disableddates=[“12-21-2015”、“12-24-2015”、“1-4-2016”、“1-5-2016”];
函数DisableSpecificDates(日期){
var m=date.getMonth();
var d=date.getDate();
var y=date.getFullYear();
var currentdate=(m+1)+'-'+d+'-'+y;
对于(变量i=0;i
特定日期(存储在禁用日期数组中)被排除在外,周末也是如此,但周一仍然是可选的-有人知道我哪里出错了,或者有其他解决方案吗?我发现:
0: Sunday
1: Monday
2: Tuesday
3: Wednesday
4: Thursday
5: Friday
6: Saturday
所以那部分是对的。我还看到您没有在禁用特定日期内传递日期
我会尝试(简化):
$(“#日期选择器”)。日期选择器({
beforeShowDay:功能(日期){
var day=date.getDay();
返回[(天!=1&&day!=0&&day!=6)];
}
});代码>
日期:
我发现:
0: Sunday
1: Monday
2: Tuesday
3: Wednesday
4: Thursday
5: Friday
6: Saturday
所以那部分是对的。我还看到您没有在禁用特定日期内传递日期
我会尝试(简化):
$(“#日期选择器”)。日期选择器({
beforeShowDay:功能(日期){
var day=date.getDay();
返回[(天!=1&&day!=0&&day!=6)];
}
});代码>
日期:
如果我没弄错的话,你只想要星期二到星期五的约会。选中了什么$.datepicker.noWeekends(日期)如果是工作日,则返回1;如果是周末,则返回0。让我们检查一下您的代码:
weekend[0]| | date.getDay()==1
如果weekend[0]
为false,则表示date.getDay()==0
或==6
(星期日或星期六)。但是对于date.getDay()==1
,周末[0]
将始终为真。所以您总是允许星期一,如true | | true==true
你想要的是:
return [(weekend[0] && date.getDay() != 1)];
也就是说,如果一周内的某一天与周一不同,那么就允许这样做。所以,如果我理解正确的话,你只需要周二周五的约会。选中了什么$.datepicker.noWeekends(日期)如果是工作日,则返回1;如果是周末,则返回0。让我们检查一下您的代码:
weekend[0]| | date.getDay()==1
如果weekend[0]
为false,则表示date.getDay()==0
或==6
(星期日或星期六)。但是对于date.getDay()==1
,周末[0]
将始终为真。所以您总是允许星期一,如true | | true==true
你想要的是:
return [(weekend[0] && date.getDay() != 1)];
也就是说,如果一周内的某一天与星期一不同,则允许使用它不确定$datepicker.noWeekends(日期)是多少;是的,但是你为什么不试着颠倒顺序呢<代码>返回[(date.getDay()==1 | | weekend[0])代码>不确定$.datepicker.noWeekends(日期)是什么;是的,但是你为什么不试着颠倒顺序呢<代码>返回[(date.getDay()==1 | | weekend[0])代码>如果我返回[day!=1]
而不是return[(weekend[0]];
如果我return[(weekend[0]];
而不是return[day!=1];
我得到所有被排除的周末和我的日期数组…我基本上需要将这两者结合起来(所以我没有周一也没有周末)-有什么想法吗?@JonKyte Fiddle做你想做的事情当OP要求禁用它时,12/24/15和1/5/15仍然是可选择的。尽管你的其余答案似乎是正确的。@Scanner OP回答了他的问题,而不是完全预切的代码(尽管它看起来已经像婴儿食品)如果我返回[day!=1];
而不是返回[(周末[0]];
如果我返回[(周末[0]];
而不是返回[day!=1],我只得到日期选择器,不包括每个星期一和我的日期数组
我将所有周末都排除在外,并且我的日期数组……我基本上需要将这两者结合起来(因此我没有周一也没有周末)-有什么想法吗?@JonKyte Fiddle做你想做的事情当OP要求禁用它时,12/24/15和1/5/15仍然是可选择的。尽管你的其余答案似乎是正确的。@Scanner OP回答了他的问题,而不是完全预切的代码(尽管它看起来已经像婴儿食品)他显然知道从这里该怎么办。啊,科塞!谢谢你的故障,我现在理解我的错误。没问题!这是一个简单的解决办法,但更有用的是了解它发生的原因:)啊,科塞!谢谢你的故障,我现在理解我的错误。没问题!这是一个简单的解决办法,但更有用的是了解它发生的原因:)