2009-11-03 47 views
0

我使用的是jQuery 1.3.2,我的運行方式與problem mentioned here完全相同。jQuery不允許將屬性設置爲「已選中」

var tmp = jQuery(selector_string); 
tmp.attr("selected", "selected"); 

我在IE6中正確獲取了tmp的值。但是,將該屬性設置爲「已選中」將失敗。它適用於IE7和Firefox。

另一個人having the same problem

+0

'tmp.val(data_selected)'返回'tmp'元素的值。你不能鏈接'attr()'函數。 – artlung 2009-11-04 05:30:24

+0

@artlung我引用了錯誤的代碼。它已被編輯。謝謝 – Roger 2009-11-04 16:16:49

回答

0

很難驗證沒有IE6,但也許val()可以更改爲value === ''?不知道這是否兼容。

另外,也許.attr("selected", true)

0

你確定你試圖設置的DOM元素是dropdwon嗎?或者確實可以選擇的另一個元素?

+0

是的DOM元素是一個下拉值,並正確選擇DOM。 – Roger 2009-11-03 17:01:30

0

我已經成功處理IE6中的Dropbox,只需在父select元素上設置selectedIndex屬性,而不是試圖告訴單個選項被「選中」。

$('select#mySelector')[0].selectedIndex = 3; // or whatever 

您可以通過只計算他的上一張的兄弟姐妹

var si = $('option#myOption).prevAll('option').length; 

這是有趣的,你包括第二鏈接查看,確定一個人option的索引,它的解決方案給出建議你注入在操縱DOM和試圖做你想做的事情之間略有延遲。我猜IE6的渲染/ JavaScript引擎必須依賴在頁面上可見的元素,然後才允許執行此操作。 (settimeout會允許發生這種情況。)

祝你好運!

相關問題