我使用的是jQuery 1.3.2,我的運行方式與problem mentioned here完全相同。jQuery不允許將屬性設置爲「已選中」
var tmp = jQuery(selector_string);
tmp.attr("selected", "selected");
我在IE6中正確獲取了tmp的值。但是,將該屬性設置爲「已選中」將失敗。它適用於IE7和Firefox。
我使用的是jQuery 1.3.2,我的運行方式與problem mentioned here完全相同。jQuery不允許將屬性設置爲「已選中」
var tmp = jQuery(selector_string);
tmp.attr("selected", "selected");
我在IE6中正確獲取了tmp的值。但是,將該屬性設置爲「已選中」將失敗。它適用於IE7和Firefox。
很難驗證沒有IE6,但也許val()
可以更改爲value === ''
?不知道這是否兼容。
另外,也許.attr("selected", true)
?
我已經成功處理IE6中的Dropbox,只需在父select
元素上設置selectedIndex
屬性,而不是試圖告訴單個選項被「選中」。
$('select#mySelector')[0].selectedIndex = 3; // or whatever
您可以通過只計算他的上一張的兄弟姐妹
var si = $('option#myOption).prevAll('option').length;
這是有趣的,你包括第二鏈接查看,確定一個人option
的索引,它的解決方案給出建議你注入在操縱DOM和試圖做你想做的事情之間略有延遲。我猜IE6的渲染/ JavaScript引擎必須依賴在頁面上可見的元素,然後才允許執行此操作。 (settimeout會允許發生這種情況。)
祝你好運!
'tmp.val(data_selected)'返回'tmp'元素的值。你不能鏈接'attr()'函數。 – artlung 2009-11-04 05:30:24
@artlung我引用了錯誤的代碼。它已被編輯。謝謝 – Roger 2009-11-04 16:16:49