2010-12-17 73 views
3
$("div").append($(document.createElement("input")).attr({ 
         'id': 'post_category', 
         'value': 'item', 
         'type': 'checkbox','checked': true 
        })); 

我想創建複選框與選中,但ie7顯示什麼。而其他瀏覽器顯示覆選框爲選中狀態。 如何顯示在IE7複選框創建不工作ie7

回答

2

代碼在其他瀏覽工作

$("div").append("<input id='post_category' value='item' type='checkbox' checked='checked'>"); 

解決方案要插入複選框,在IE7

var category_checkbox = $("<input>").attr({'name' : 'post_category[]' , 'id' : 'post_category' , 'type' : 'checkbox' , 'value' : '1'}); 

$("div").append(category_checkbox); 

category_checkbox.attr({'checked' : 'checked'}) 

IE7不會接受檢查的屬性,同時插接件檢查。所以一旦我們追加複選框,請參考該複選框並將屬性設置爲已選中。

5

任何理由選擇複選框,你不能像這樣做:

$("div").append("<input id='post_category' value='item' type='checkbox' checked='checked'>"); 

你可以動態地構造它,按您的初衷:

$("div").append($("<input>").attr({ 
        'id': 'post_category', 
        'value': 'item', 
        'type': 'checkbox','checked': true 
       })); 

按照這JSFiddle:http://jsfiddle.net/ReErJ/2/

我還注意到,在你的代碼中你有

'checked': true 

這應該是

'checked': 'checked' 
+1

Ur答案在ie7瀏覽器中不起作用。我發現解決方案參考我的答案。 Thaks爲你提供幫助 – 2010-12-18 11:15:29

3

嘗試設置「檢查」:「檢查」,不是真正的

0

我複製你貼到一個新的頁面的代碼,我也得到2複選框在IE7中。也許你的代碼在其他地方有問題?