我有两个datepickers 1-fromDate和2-toDate我想要如果我在fromDate中选择month / anydate / year,然后将toDate datepicker设置为nextmonth / anydate / year并禁用之前的日期。
$("#fromDate").datepicker({
maxDate: 0,
onSelect: function (date) {
$("#toDate").datepicker('option', 'minDate', date);
}
});
$("#toDate").datepicker({
maxDate: '0'
});
此代码禁用了不是月份的日子
答案 0 :(得分:0)
试试这个
$( function()
{
var dateFormat = "mm/dd/yy",
from = $( "#from" )
.datepicker
({
changeMonth: true,
numberOfMonths: 1
})
.on( "change", function()
{
to.datepicker( "option", "minDate", getDate( this ) );
}),
to = $( "#to" ).datepicker({
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;
}
} );
答案 1 :(得分:0)
在ShowDay和onSelect之前使用,以禁用已选择的日期
beforeShowDay 在呈现日历之前运行。 onSelect 在用户选择日期后运行
制作一个数组来存储所选日期,当用户选择日期将其推入数组并且 beforeShowDay 回调接收一个月中所有日期的日期参数时
beforeShowDay: function(date){
...
//check date
}
onSelect: function(date) {
...
//date is user selected value save it for future comparison
},
所以你可以在条件中检查数组中的日期是否为日期返回false使其被禁用并显示为灰色。
https://jsfiddle.net/0g1atvm1/3/
如果有帮助的话。