根据从下拉列表中选择的选项禁用jquery日期选择器中的日期
我有两个日期选择器显示开始日期和结束日期。有一个带有选项的选择框:根据从下拉列表中选择的选项禁用jquery日期选择器中的日期,jquery,jquery-ui-datepicker,Jquery,Jquery Ui Datepicker,我有两个日期选择器显示开始日期和结束日期。有一个带有选项的选择框: |daily| |weekly| |monthly| |yearly| 假设所选选项为每周,起始日期为2013-03-28 ie;星期四。然后我需要禁用日历中除enddate中的星期四之外的所有其他日期。同样,如果选择了月份,并且开始日期为2013-03-28,则我希望在enddate中禁用除每月28日以外的所有日期。我怎样才能做到这一点 脚本 $( "#startdate" ).datepicker({ s
|daily|
|weekly|
|monthly|
|yearly|
假设所选选项为每周,起始日期为2013-03-28 ie;星期四。然后我需要禁用日历中除enddate中的星期四之外的所有其他日期。同样,如果选择了月份,并且开始日期为2013-03-28,则我希望在enddate中禁用除每月28日以外的所有日期。我怎样才能做到这一点
脚本
$( "#startdate" ).datepicker({
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
minDate: 0,
changeYear: true,
changeMonth: true,
numberOfMonths: 1,
onClose: function( selectedDate ) {
$( "#enddate" ).datepicker( "option", "minDate", selectedDate );
}
});
$( "#enddate" ).datepicker({
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
minDate: 0,
changeYear: true,
changeMonth: true,
numberOfMonths: 1,
onClose: function( selectedDate ) {
$( "#startdate" ).datepicker( "option", "maxDate", selectedDate );
}
});
您可以通过以下方式实现它:
$(function() {
var period = 'weekly';
var filterDate = function(date) {
var today = new Date();
if (period == 'weekly') {
if (today.getUTCDay() != date.getUTCDay()) {
return [false, "", ""];
}
} else if (period == 'monthly') {
if (today.getDate() != date.getDate()) {
return [false, "", ""];
}
}
return [true,"",""];
};
$("#period").change(function() {
period = $(this).val();
});
...
$( "#enddate" ).datepicker({
...
beforeShowDay: filterDate
});
});
以下是现场演示: