复选框创建在ie7中不起作用

时间:2010-12-17 14:54:31

标签: javascript jquery

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

我正在尝试创建带复选框的复选框,但是ie7什么也没显示。而其他浏览器显示复选框已选中。 如何显示在ie7

中选中的复选框

4 个答案:

答案 0 :(得分: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 :(得分:3)

尝试设置'checked':'checked',而不是

答案 2 :(得分: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在插入元素时不会接受checked属性。所以一旦我们追加复选框,请参阅该复选框并将属性设置为已选中。

答案 3 :(得分:0)

我将您发布的代码复制到新页面,我在IE7中获得了2个复选框。也许你的代码中的其他地方有问题?