1

我使用IE 6和。 我的項目包含jQuery.js v。1.9.1和jQuery UI v。1.9.2jQuery Datepicker setDate在IE 6中不工作,7

我有一個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/並點擊「獲取價值」按鈕。警報框將顯示01/01/(錯誤日期)。 我嘗試在"setDate"之後使用.datepicker("refresh")命令,但結果相同。

如何解決在IE 6 ... 10中工作的jQuery UI setDate函數?

+0

你有問題,可能沒有開發者在這裏仍然使用IE 6/7:D任何爲什麼不使用任何現代瀏覽器的原因?即使在IE8兼容性視圖這工作正常。 –

+0

項目要求是我們必須使用IE 6,7及更高版本。項目經理拒絕停止支持舊版本的庫:-( – PaulP

+2

)當項目需求意味着開發人員花費更多時間在IE6中工作時,我會喜歡它,而不是真正使用IE6的真實用戶花費的時間。呃。我的猜測是它是拋出某種JS錯誤,但是IE6/7沒有報告它。可惜IE6/7沒有像樣的開發工具,但是如果你可以在後來的IE版本中使用IE7兼容模式獲得相同的效果,那麼你可以使用控制檯來觀察錯誤並看看發生了什麼(如果它不發生在compat模式下,那麼你需要找到另一種方法來調試IE6/7 ......祝你好運!) – Spudley

回答

2

我通過添加onSelect參數日期選擇固定的這個問題:

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

這段代碼在IE 6/7/8/9工作正常。