2010-12-07 69 views
1

我使用javascript和按鈕單擊動態生成彈出窗口(使用AJAX顯示)的複選框我還需要調用一個函數,在彈出窗口呈現前檢查所有複選框。IE6中的複選框問題

所有正在使用的頁面都是JSP,彈出窗口也包含在標籤中,因此當父頁面被加載時,它已經生成。

問題是我可以使用IE7和IE8中的相同功能來檢查所有自定義生成的複選框。但它不適用於IE6。

我使用的是一樣的東西:

var i; 
for(i=0; i<size; i++){ 
    document.getElementById('chk'+i).checked = true; 
} 
+0

請將您的代碼包裝在代碼塊(編輯器頂部的1010101圖標)中,因爲目前無法看到 – 2010-12-07 11:39:41

回答

0

不希望聽起來像一個「使用jQuery」敷衍了事的答覆,如果你有像jQuery庫要做到這一點,任何IE6的不一致可能會是很好的抽象出來。

+0

hmmm取決於你的意思是「抽象走」。在某些情況下,它只是「通過強制您使用解決方法而隱藏」。但我看到你的觀點:) – haylem 2010-12-07 11:53:18

+0

感謝您的答案......但代碼在IE7和IE8中工作正常,所以我只需要更改IE6的一段很長的代碼,我開始完全不喜歡方式.....:P – Batman 2010-12-07 13:02:49

1

即使在IE6中(這實際上是一個非常糟糕的瀏覽器),該代碼應該可以正常工作。

但是,如果您已將這些複選框動態添加到頁面中,則IE6在動態添加複選框時存在一個已知問題,它不遵守.checked屬性。

看到這個頁面的幾個可能的解決方案:http://bytes.com/topic/javascript/insights/799167-browser-quirk-dynamically-appended-checked-checkbox-does-not-appear-checked-ie

希望有所幫助。 :-)

(但我的解決方案是:不支持IE6,老實說,它的使用率下降到百分之幾,現在越來越低,所以除非你的特定人羣更好地使用它,只是減少你的損失和放下它;剩下的用戶將盡快升級; ;-))