gpt4 book ai didi

javascript - Jquery UI 日期选择器日期格式

转载 作者:行者123 更新时间:2023-11-28 18:44:48 25 4
gpt4 key购买 nike

我在我的项目中的表单中使用 jquery ui 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”。因此,日期选择器不允许我以“mm/dd/yy”格式输入日期。当我尝试在日期选择器输入中键入“/”时,它什么也不做,或者我无法在日期选择器输入字段中键入“/”。我这样做是因为我想让用户选择在不使用日历的情况下添加日期(这是客户的需求)。我希望设置日期格式,以便我可以使用 [./-\s] 中的任何分隔符。例如,我希望接受所有这些类型的日期(01-01-1999、01/01/1999、01.01.1999 和 01 01 1999)。谁能告诉我如何做到这一点?

我正在使用 Django 模型表单集。

最佳答案

看看这个:jQuery Datepicker that supports multiple formats

基本上,调整 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;
};

关于javascript - Jquery UI 日期选择器日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35552485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com