单选按钮和.attr('checked','checked')在IE7中不起作用

Int*_*lix 15 jquery radio-button internet-explorer-7

在IE7中追加时有没有办法检查单选按钮?

什么似乎在每个浏览器中都有效,看起来不像它在IE6,7中工作,尽管到处读到我正在做的正确.我完全不知道为什么它不起作用.

var $itemVariantRowRadio = $("<input/>")
    .attr("type", "radio")
    .attr("name", "itemvariant")
    .addClass("itemvariant")
    .val('whatever');


    $itemVariantRowRadio.attr('checked', 'checked');
    $itemVariantRow.append($itemVariantRowRadio)
Run Code Online (Sandbox Code Playgroud)

现在,如果我console.log($itemVariantRowRadio.attr('checked')在IE6/7中进行操作,那么它会将其设置为TRUE,但实际上收音机不会被检查或选中.

恶梦!其他人遇到过这种情况并有任何修复方法吗?

Nea*_*eal 36

如果在jQuery> = 1.6中:

使用prop如下所示:.prop()vs .attr()

$itemVariantRowRadio.prop('checked', true);
Run Code Online (Sandbox Code Playgroud)

如果在jQuery <1.6:

$itemVariantRowRadio.attr('checked', true);
Run Code Online (Sandbox Code Playgroud)

也:

尝试创建您的元素,如下所示:

var $itemVariantRowRadio = $("<input/>",{
     type: 'radio',
     name: 'itemvariant',
     class: 'itemvariant',
     checked: true,
     value: 'whatever'
});
$itemVariantRow.append($itemVariantRowRadio);
Run Code Online (Sandbox Code Playgroud)

请参阅小提琴:http
://jsfiddle.net/maniator/6CDf3/附加2个输入的示例:http://jsfiddle.net/maniator/6CDf3/2/