动态禁用日期日期选择器JavaScript

问题描述

我想通过使用数组动态禁用天数,

替换代码

var monday = 1;
var tuesday = 2;

具有数据库中的动态值

 var disabledDay = ["1","2","3"];

任何帮助将不胜感激,谢谢

代码

jsfiddlehttp://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>

解决方法

我想你想要这样的东西。

http://jsfiddle.net/dgo48jry/

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();

这假定您的服务器正在将值作为字符串返回。如果您不需要字符串,则只需删除地图过滤器行即可。