我使用 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函数?
答案 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中运行良好。