我正在尝试在相同的id上获取Jquery日期选择器,这会在事件发生后更改其日期格式。我尝试了下面的代码片段,但无法按预期执行。
JS CODE
function dateselect(){
var type = jQuery('#uploadtype').val()
if(type == "monthly"){ //if user select month as dropdown
jQuery('#datepicker').datepicker( {
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: 'MM yy',
onClose: function(dateText, inst) {
$(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
}
});
}
else{
jQuery('#datepicker').datepicker({
beforeShowDay: displayValidDates,
maxDate: '-1w',
constrainInput: true,
dateFormat:"yy-mm-dd"
});
}
}
答案 0 :(得分:1)
如果要根据条件在运行时更改格式,最好使用默认值初始化datepicker,并且您的函数只会更改所需的格式和其他选项。
...试
jQuery('#datepicker').datepicker({
beforeShowDay: displayValidDates,
maxDate: '-1w',
constrainInput: true,
dateFormat:"yy-mm-dd"
});
function dateselect(){
var type = jQuery('#uploadtype').val()
if(type == "monthly"){ //if user select month as dropdown
$("#datepicker").datepicker( "option", "dateFormat", "MM yy" );
}
else{
$("#datepicker").datepicker( "option", "dateFormat", "yy-mm-dd" )
}
}
您可以查看此示例以获取更多信息:
https://jqueryui.com/resources/demos/datepicker/date-formats.html