jQuery datepicker禁用星期日和特定的日期数组

我已经相当远,但最后一部分仍然存在。 我基本上只需要禁用所有星期日,然后能够添加日期到一个数组也被禁用,我知道代码,以便单独禁用每个,但当我尝试将它们放在一起时,我或者得到星期日可选择的日期数组或另一种方式。 我需要加入的两个部分有arrays和星期日禁用是在beforeshowdays函数,我知道我不能有两个我只是把它们都放在这里你可以看到我正在尝试。 谢谢你的帮助

 var array = ["2016-08-29","2013-03-15","2013-03-16"]   $( function() { var today = new Date(); $( "#datepicker" ).datepicker({ dateFormat: 'dd MM yy', beforeShowDay: function(date) { var day = date.getDay(); return [(day != 0), '']; }, beforeShowDay: function(date) { var string = jQuery.datepicker.formatDate('yy-mm-dd', date); return [ array.indexOf(string) == -1 ] }, //beforeShowDay: $.datepicker.noWeekends, firstDay: 1, minDate: today.getHours() >= 14 ? 2 : 1, maxDate: '+1m', onSelect: function(dateText, inst) { $('#checkout_attribute_1').val(dateText); } }); } );  

你可以尝试这样的事情:

 var array = ["2016-08-29", "2013-03-15", "2013-03-16"] $(function() { var today = new Date(); $("#datepicker").datepicker({ dateFormat: 'dd MM yy', beforeShowDay: function(date) { var string = jQuery.datepicker.formatDate('yy-mm-dd', date); if (contains(array,string)) { debugger; return [false, ''] } else { var day = date.getDay(); return [(day != 0), '']; } }, //beforeShowDay: $.datepicker.noWeekends, firstDay: 1, minDate: today.getHours() >= 14 ? 2 : 1, maxDate: '+1m', onSelect: function(dateText, inst) { $('#checkout_attribute_1').val(dateText); } }); }); function contains(a, obj) { var i = a.length; while (i--) { if (a[i] === obj) { return true; } } return false; } 

https://jsfiddle.net/9hrhyd4q/

试试这个

 beforeShowDay: function(date) { var day = date.getDay(); var string = jQuery.datepicker.formatDate('yyyy-mm-dd', date); if (day == 0){ return [false]; } else if(array.indexOf(string) != -1){ return [false]; } else{ return [true]; } }