jQuery检查单选按钮不会被检查,尽管已检查""属性设置为"已检查"

时间:2016-01-21 15:14:16

标签: jquery radio-button

我使用localStorage.setItem("activeItem", $elements.index(this)); 手动选中了一个单选按钮(因为.attr('checked', true);在我的情况下似乎没有做任何事情)。

虽然单选按钮确实在标记中获得prop( 'checked', true);属性等于checked,但单选按钮仍未检查(在页面上可视化,全部单选按钮保持未选中状态)。

这怎么可能?

jQuery的:

checked

获得的HTML:

$( '.variations_fieldset input[value="Every 2 months"]' ).attr('checked', true);

2 个答案:

答案 0 :(得分:2)

始终使用prop来触及元素的基础属性,而不是attr

$( '.variations_fieldset input[value="Every 2 months"]' ).prop('checked', true);

attr只是更改了DOM,但并不总是设置基础属性。

请注意:prop不会更新attr,因此您无法在DOM检查器中看到更改。

JSFiddle: https://jsfiddle.net/e0tpgekm/1/

答案 1 :(得分:-2)

如果你在1.6之前使用jQuery试试这个:

.attr('checked','checked');