jQuery Datepicker setDate在IE 6,7中不起作用

时间:2013-04-16 08:32:08

标签: jquery jquery-ui internet-explorer-7 datepicker internet-explorer-6

我使用 IE 6 7 。 我的项目包含jQuery.js v。 1.9.1 和jQuery UI v。 1.9.2

我有jQuery日历字段的html页面:

...
<input type='text' id='Birthday'>
<!-- for only test purpose-->
<input type='button' style="width: 100px;" value="Get value" id='getValue'>
...

和javascipt文件:

$(document).ready(function () {
     $('#Birthday').datepicker({showOn: "button"});
     $('#Birthday').datepicker("setDate", new Date(1930, 0, 1));
     $('#getValue').click(function(){
          alert($('#Birthday').datepicker("getDate"));
     });
});

然后我编辑输入文本框(不打开日历对话框)并将日期设置为01/01 / 1958 ,然后单击“获取值”按钮。警告框将显示01/01 / 1930 (错误的日期)。 我尝试在.datepicker("refresh")之后使用"setDate"命令,但结果是相同的。

如何在IE 6 ... 10中修复jQuery UI setDate函数?

1 个答案:

答案 0 :(得分:2)

我通过将onSelect参数添加到Datepicker来修复此问题:

$('#Birthday').datepicker({
   showOn: "button",
   onSelect: function()
   {
     // this will fire change on the underlying input
     $(this).change();
   }
});

此代码在IE 6/7/8/9中运行良好。