手动输入后的 DatePicker 值

DatePicker value after manual input

我使用 0:dd/MM/yyyy 作为 DatePicker 对象的格式和文本模板

$('#datePickerSelector')`.shieldDatePicker({
     format: "{0:dd/MM/yyyy}",
     textTemplate: "{0:dd/MM/yyyy}"
});

当用户 select 来自 select 的日期或格式正确时,当我使用以下方法检索值时:

$('#datePickerSelector').val();

但是每当用户在文本框中手动输入日期(例如 1/5/2015,使用上面相同的句子检索到的值是 (05/01/2015)。

我该如何解决这个问题?

您需要使用parseFormats option of the datepicker。它包含一个数组,其中包含用于解析使用 value() 方法或直接键入的用户输入设置的值的日期格式列表。在您的情况下,您需要在数组中添加 dd/MM/yyyy:

$('#datePickerSelector').shieldDatePicker({
        format: "{0:dd/MM/yyyy}",
        textTemplate: "{0:dd/MM/yyyy}",
        parseFormats: ["dd/MM/yyyy"]
    });