如何根据用户选择jquery datepicker禁用日期

我有以下代码:

HTML

from

to

select days of the week

脚本

 $( function() { var dateFormat = "mm/dd/yy", from = $( "#sproid-bookingcondition-datefrom" ) .datepicker({ defaultDate: "+1w", changeMonth: true, numberOfMonths: 1 }) .on( "change", function() { to.datepicker( "option", "minDate", getDate( this ) ); }), to = $( "#sproid-bookingcondition-dateto" ).datepicker({ defaultDate: "+1w", changeMonth: true, numberOfMonths: 1 }) .on( "change", function() { from.datepicker( "option", "maxDate", getDate( this ) ); }); function getDate( element ) { var date; try { date = $.datepicker.parseDate( dateFormat, element.value ); } catch( error ) { date = null; } return date; } } ); 

我的要求是根据用户选择启用一周中的几天。 默认情况下,将启用所有星期日期。 例如,如果用户选择星期一和星期二,则需要从日历中禁用其他日期的其余日期。 如何使用beforeShowDay或任何其他方法来解决这个问题。

请参阅小提琴的链接: 小提琴

试试这个代码

 $( function() { var list=[]; $('input.chkWeek').on('click', function(){ if(!$(this).is(':checked')){ list.push($(this).attr('data-value')); }else{ var deselect=$(this).attr('data-value'); list = $.grep(list, function(value) { return value != deselect; }); } }); var dateFormat = "mm/dd/yy", from = $( "#sproid-bookingcondition-datefrom" ) .datepicker({ defaultDate: "+1w", changeMonth: true, numberOfMonths: 1, beforeShowDay: function(day) { var day = day.getDay(); var c; for(var i=0;i } ); 
    

from

to