问题描述
我想通过使用数组动态禁用天数,
替换代码:
var monday = 1;
var tuesday = 2;
具有数据库中的动态值
var disabledDay = ["1","2","3"];
任何帮助将不胜感激,谢谢
旧代码
jsfiddle:http://jsfiddle.net/314wd8t7/
$("#picker").datepicker(
{ beforeShowDay: function(day) {
var string = jQuery.datepicker.formatDate('yy-mm-dd',day);
var day = day.getDay();
var monday = 1;
var tuesday = 2;
if (day != monday && day != tuesday){
return [ true ]
} else {
return [ false ]
}
}
});
$('#picker').datepicker();
<div id="picker"></div>
解决方法
我想你想要这样的东西。
const disabledDays = ["1","2","3"]
.map((n) => parseInt(n))
.filter((n) => !isNaN(n));
$("#picker").datepicker({
beforeShowDay: function(day) {
return [!disabledDays.includes(day.getDay())];
}
});
$('#picker').datepicker();
这假定您的服务器正在将值作为字符串返回。如果您不需要字符串,则只需删除地图过滤器行即可。