我想使用jquery ui datepicker来选择月份和年份。在网站中搜索后,我创建了此功能:
$(".datepickerSchedule").datepicker({
showOn: "both",
changeMonth: true,
changeYear: true,
dateFormat: "yy-mm",
minDate: new Date(taskStartDate),
showButtonPanel: true,
onClose: function(dateText, inst) {
function isDonePressed(){
return $('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1;
}
if (isDonePressed()){
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker('setDate', new Date(year, month, 1));
}
}
}).focus(function(){
$(".ui-datepicker-calendar").hide();
});
因此,重点是我隐藏日历,并且只有当我按“完成”时,所选的“月份”的第一个日期才设置为“日期选择器”。
选择一个月后,格式将正确显示为mm-yy。
但是在我的屏幕上,我从DB加载了百里香日期,并且出现了问题,原因是dateformat不起作用,并且我将日期作为yy-mm-dd。我用来设置输入的模型对象有一个Date变量(尽管它使我相信它存在解析问题,因为输入类型是文本)
此外,当我将格式设置为“ mm-yy”时,日期选择器将无法识别该字段中已经存在的日期并在当月打开,例如,如果我有2017-11-01,日期选择器将打开至2019年3月(如果dateformat为“ yy-mm-dd”则不会发生,但如果它为“ mm-yy”或“ yy-mm”会发生)
最后一部分,我如何排除一年中选择月份的时间?我知道具体的日期,但是如果我从一天的阅读中排除整个月份,该怎么办?