Jquery ui jQuery UI日期选择器onChangeMonthYear和inst参数
如何使用onChangeMonthYear的'inst'参数自动选择月的第一天 见: 我目前正在使用下面的代码,但我觉得我应该能够更直接地使用'inst'变量Jquery ui jQuery UI日期选择器onChangeMonthYear和inst参数,jquery-ui,datepicker,Jquery Ui,Datepicker,如何使用onChangeMonthYear的'inst'参数自动选择月的第一天 见: 我目前正在使用下面的代码,但我觉得我应该能够更直接地使用'inst'变量 $('.selector').datepicker({ onChangeMonthYear: function(year, month, inst) { ... } }); 如果没有特殊原因需要使用inst,则始终可以使用此: $(".datepicker" ).datepicker({ changeMonth:
$('.selector').datepicker({
onChangeMonthYear: function(year, month, inst) { ... }
});
如果没有特殊原因需要使用
inst
,则始终可以使用此
:
$(".datepicker" ).datepicker({
changeMonth: true,
changeYear: true,
maxDate:0,
onChangeMonthYear: function(year, month, inst){
// set date to 1st on year or month change
// this seems bit janky, but works
$('#' + inst.id).datepicker( "setDate", month + '/1/' + year );
// Can't I use the instatnce to set the date?
// $(inst).datepicker( "setDate", month + '/1/' + year ); // fails
// inst.datepicker( "setDate", month + '/1/' + year ); // fails
// inst.selectedDay = 1; // fails
// inst.currentDay = 1; // fails
}
});
<动作>: < P> William Niu的解决方案不考虑其他日期格式(如DD MMYYYY)。 您最好从datepicker中获取一个日期对象,并按您喜欢的方式修改它(即设置月的第一天)。修改后,可以将修改后的日期对象重新传递给日期选择器
onChangeMonthYear: function(year, month, inst){
$(this).datepicker( "setDate", month + '/1/' + year );
}
这样就不会覆盖日期格式(可能是在日期选择器初始化期间设置的)
注意月份格式:datepicker处理月份的1-12格式,而Date对象是0-11
希望这能有所帮助,再见 这是完全有道理的,我真的没有任何特别的理由使用“inst”,“this”很好用。
dateFormat: "dd-mm-yy",
onChangeMonthYear: function(year, month, inst){
var selectedDate = $(this).datepicker( "getDate" );//Date object
selectedDate.setDate(1);//set first day of the month
selectedDate.setMonth(month-1);//month is 1-12, setMonth is 0-11
selectedDate.setFullYear(year);
$(this).datepicker( "setDate", selectedDate );
}