您可以使用日期选择器.on("show")
功能来改变显示。我用过 jQuerygrep
找到与您的匹配项datesToDisable
大批。如果有任何匹配,那么我应用disabled
该元素的类。
var datesToDisable = ["2016-11-01","2016-08-01","2016-06-01",
"2016-05-01","2016-04-01","2015-12-01","2015-09-01"];
var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
$('#example1').datepicker({
format: 'yyyy-mm-dd',
minViewMode: 1, // 1 for months
maxViewMode: 2, // 2 for years
startDate: '-36m',
endDate: '+0m',
autoclose: true,
toggleActive: true}).on("show", function(event) {
var year = $("th.datepicker-switch").eq(1).text(); // there are 3 matches
$(".month").each(function(index, element) {
var el = $(element);
var hideMonth = $.grep( datesToDisable, function( n, i ) {
return n.substr(0, 4) == year && months[parseInt(n.substr(5, 2)) - 1] == el.text();
});
if (hideMonth.length)
el.addClass('disabled');
/* To hide them...
if (hideMonth.length)
el.hide();
*/
});
});
JsFiddle 示例:https://jsfiddle.net/k144qmct/1/ https://jsfiddle.net/k144qmct/1/