如何根据用户选择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