我有一個標準選擇框,我使用jquery通過附加選項來填充,但由於某些原因,IE9僅顯示所選選項的第一個字符。毋庸置疑,它在FireFox和Chrome中運行良好,但我必須支持IE9。我嘗試了IE9兼容模式,但它沒有區別,也沒有選擇或選項樣式。<select>只顯示選定選項的第一個字符
有沒有人看過這個問題。是什麼造成的?你怎麼修好它的?
簡化代碼示例:
<select id="selectCCY" ValueColumn="ccyID" DisplayColumn="ccySymbol" ></select>
$.each(res.result, function (key, value) {
$('#selectCCY').append('<option value="' + value[$('#selectCCY').attr('ValueColumn')]+ '">' + value[$('#selectCCY').attr('DisplayColumn')] + '</option>');
});
res.result是一個簡單的JSON陣列是這樣的:
[{"ccyID":1,"ccySymbol":"GBP"},{"ccyID":2,"ccySymbol":"AUD"},{"ccyID":3,"ccySymbol":"USD"}]
OH開溜!!!它在我簡化的例子中工作正常,所以問題在其他地方。抱歉。原始代碼需要很長時間並且很複雜才能粘貼到這裏,但是當我找到答案時會通知您。
一段時間後....
OK,我得到了這個問題降低到$(選擇)。每個()循環中調用Ajax。循環遍歷所有選擇框並異步填充選項。如果我使它成爲同步調用,選擇框具有正確的寬度並正確顯示,但如果它是異步調用,則選擇框僅顯示圖像中的第一個字符。仍在努力,將再次回到你身邊。
我仍然想知道什麼會導致選擇框顯示不正確。我可以做出解決方法並使其正確顯示,但這並不能回答問題。這只是一個選項,它應該總是工作,對不對?
經過一個週末忽略問題....
對我找到了解決方法。在進行ajax調用來填充選擇框之前,我首先將css顯示屬性設置爲'none',然後填充它,最後在ajax調用和填充完成時,只刪除css顯示'none'屬性。
所以我仍然不知道爲什麼IE不喜歡我,但我們至少有一個解決方案。
* sigh *您用來填充「選擇」框的標記或代碼是什麼樣的? – 2011-05-06 08:04:13
只是爲了完整:您的jQuery代碼是什麼? – slhck 2011-05-06 08:04:27
您可以使用http://jsfiddle.net來設置代碼的演示。 – 2011-05-06 08:06:13