jquery UI Datepicker getDate返回当前日期,如果格式已设置为" D d"

时间:2015-01-27 16:07:58

标签: jquery datepicker

 $("#datepickerStart").datepicker({
            dateFormat: "D d",
            showAnim: "slideDown",
            onSelect: function (dateText, d) {                               
            }               
        });

以后,即使我更改了日期选择器日期(在UI上),下面的行也始终返回当前日期

console.debug($("#datepickerStart").datepicker("getDate"));

当我注释掉格式选项时,它可以正常工作!

请发生什么......

1 个答案:

答案 0 :(得分:1)

似乎是datepicker UI错误/问题。

当我尝试使用DD d格式时,我发现第一次选择日期会返回当前日期。但是,如果再次重新选择相同的日期,则会显示正确的日期。请参阅日志文件

enter image description here

但是,当我使用不同的日期格式dd/mm/yy时,它表现正常,

enter image description here

因此,对于解决方法,您可以利用datepicker altField选项来解决您的问题。

您可以从altField而不是 datePicker 获取日期,

$("#datepicker").datepicker({
        dateFormat: "DD d",
        altField: "#actualDate",
        altFormat: "yy-mm-dd",
        onSelect: function (date, d) {
            console.debug("Wrong Date : " + $("#datepicker").datepicker("getDate"));
            console.debug("Correct Date : " + $("#actualDate").val());
        }
    });

这是example for altField

希望这对你有所帮助。