[英]Jquery UI datepicker date format
我在項目中的表單中使用jQuery ui datepicker。 我正在像這樣初始化datepicker。
var date_lower = new Date(1910,0,1);
var year_lower = date_lower.getFullYear();
var date_upper = new Date();
var year_upper = date_upper.getFullYear();
$("#id_dob").datepicker({ dateFormat: 'mm-dd-yy',minDate: date_lower,
maxDate: date_upper ,
yearRange: year_lower+':'+year_upper ,
changeYear: true,
changeMonth: true,
defaultDate: new Date(2000,01,01)
});
我的日期格式是這樣的'mm-dd-yy'。 因此,datepicker不允許我以“ mm / dd / yy”格式輸入日期。 當我嘗試在日期選擇器輸入中鍵入“ /”時,它什么都不做,或者我無法在日期選擇器輸入字段中鍵入“ /”。 我這樣做是因為我想給用戶選擇添加日期而不使用calander的功能(這是客戶的要求)。 我想要設置日期格式,以便可以使用[./-\\s]
任何分隔[./-\\s]
。 例如,我希望接受所有這些類型的日期(01-01-1999、01 / 01 / 1999、01.01.1999和01 01 1999)。 誰能告訴我該怎么做?
我正在使用Django模型formets。
檢查一下: 支持多種格式的jQuery Datepicker
基本上,調整parseDate函數以允許幾種格式,然后使用原始的parseDate來檢查每種格式:
$.datepicker.inputFormats = ["mm-dd-yy", "mm/dd/yy", "mm dd yy"];//list formats to be accepted here, add formats as you see fit.
$.datepicker.originalParseDate = $.datepicker.parseDate;
$.datepicker.parseDate = function (format, value, settings) {
var date;
function testParse(format, value, settings) {
if ( ! date ) {
try {
date = $.datepicker.originalParseDate(format, value, settings);
} catch (Error) {
}
}
}
testParse(format, value, settings);
for(var n = 0, stop = $.datepicker.inputFormats ? $.datepicker.inputFormats.length : 0; n < stop; n++){
testParse($.datepicker.inputFormats[n], value, settings);
};
return date;
};
我進行的小改動您的代碼有一些問題,您將數據時間格式設置為mm-dd-yyyy,這就是為什么日期時間選擇器始終為mm-dd-yyyy的原因。 以下更新的代碼工作完美
$("#datepicker").datepicker({
minDate: date_lower,
maxDate: date_upper,
changeYear: true,
changeMonth: true,
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.