1

我正在尝试在我的项目中使用 jQuery UI datepicker,似乎我无法在渲染时将日期设置为"MM yy". 但是我仍然可以onClose在页面加载后在方法中更改它。如果我将初始日期格式更改为"yy-mm-dd"初始日期设置正确。示例在这里:http: //jsfiddle.net/DBpJe/1446/

在此示例中,如果您更改dateFormat为,"yy-mm-dd"则日期将正确设置为realDate变量值。如果dateFormat设置为"MM yy",则日期设置为当前日期。

我很感激任何帮助。

4

1 回答 1

4

尝试在末尾而不是开头设置日期,这是工作演示http://jsfiddle.net/DBpJe/1446/

    $(function() {
    var queryDate = '2009-11-01',
    dateParts = queryDate.match(/(\d+)/g)
    realDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);  
                                    // months are 0-based!

    $('#startDate').datepicker({
        dateFormat: "MM yy"
    }) // format to show

    .datepicker("option", "changeMonth", true)
    .datepicker("option", "changeYear", true)
    .datepicker("option", "showButtonPanel", true)
    .datepicker("option", "onClose", function(e){
         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));
      }).datepicker('setDate',realDate);
    });
于 2013-11-07T06:04:36.713 回答