显示年份菜单时,jQuery UI datepicker无法显示完整的年份

时间:2012-12-13 18:58:30

标签: javascript jquery jsp jquery-ui jquery-ui-datepicker

我有一个在MVC struts应用程序的jsps中调用的以下函数。这是一个通用的jQuery-UI datepicker设置。

function setUpGenericDate(id) {
    var d=new Date();   
    $("#" + id).datepicker({
          duration: 'fast',
          showAnim: 'drop',
        dateFormat: "dd/mm/yy", 
           maxDate: '0',
            showOn: 'button', 
       buttonImage: '/img/calendar.gif', 
   buttonImageOnly: true,
         yearRange: '1900:'+d.getFullYear(),
       changeMonth: true,
        changeYear: true
    }); 
}

我在onLoad body事件上调用了这个函数,如下所示:

<body style="margin-top:10px; margin-left:20px;" 
     onLoad="setupJQuery();setUpsetUpGenericDate('meetingDate');jButton('btnCancel');jButton('btnUpdate');">

在上面,“meetingDate”是表单中输入文本对象的id。

问题是当可视化日期选择器年份菜单进行更改时,它不会显示年份。例如,2010年至2012年仅显示201,而2000年至2009年仅显示200。

当用户选择日期时,它会在输入文本上显示全年完成('yyyy')。仅在菜单中选择年份时才会出现此问题。会是什么呢?

谢谢你的建议

jQuery-UI-datepicker-year-range-incomplete

1 个答案:

答案 0 :(得分:5)

我为你创造了小提琴:

http://jsfiddle.net/MhxMz/

正如您所看到的,您的代码非常好。

错误发生在其他地方......

我可以建议您在alert(d.getFullYear());之后Date d = new Date();检查javascript日期是否正常...

检查您的库,避免重复和版本冲突。