2013-11-27 92 views
1

我正在使用以下代碼來取消選中頁面刷新時選中的複選框。javascript object.checked在IE11中不工作

for (i = 0; i < object.length; i++) 
{ 
object[i].checked = false; 
} 

刷新後的驗證工作,但作爲複選框的選中狀態將保持。(蜱不會去)

請幫助。

+0

它工作得很好,我在IE11。 [看我的jsFiddle](http://jsfiddle.net/ue9pQ/1/)。我用過你的確切代碼。如果您遇到問題,那不是您發佈的代碼。如果你向我們展示了'object'變量被定義的位置,我的猜測是,它到達問題中的代碼時沒有正確填充。至於爲什麼會這樣,我只能推測。 – Spudley

回答

0

複選框的選中屬性未使用值true或false。 (Input checked attribute on W3Schools

爲了取消選中該複選框,您必須移除元素的屬性:

for (i = 0; i < object.length; i++) { 
    if (object[i].hasAttribute("checked")) { 
     object[i].removeAttribute("checked"); 
    } 
} 

很明顯,你可以通過添加屬性的元素檢查複選框:

for (i = 0; i < object.length; i++) { 
    if (!object[i].hasAttribute("checked")) { 
     object[i].addAttribute("checked"); 
    } 
} 

這將在每個單一的瀏覽器的方式。

+0

沒有「addAttribute」這樣的東西 - 你可以做setAttribute。 –

0

嘗試:

for (i = 0; i < object.length; i++) 
{ 
object[i].checked = "off"; 
}