使用复选框,我想更改两个单选按钮的选中状态。这样可以正常工作,但是当再次更改复选框时,单选按钮会在代码显示已选中时视觉'消失'。这是怎么来的?
JS:
$("#change_radio").change(function () {
if ($(this).is(":checked")) {
$("#one").attr("checked", false);
$("#two").attr("checked", "checked");
}
else {
$("#two").attr("checked", false);
$("#one").attr("checked", "checked");
}
});
HTML:
<input type="radio" id="one" name="test" checked="checked"><label for="one">one</label>
<input type="radio" id="two" name="test"> <label for="two">two</label>
<input type="checkbox" id="change_radio"> <label for="change_radio">check</label>
答案 0 :(得分:2)
更改您的javascript并使用prop而不是attr
$("#change_radio").change(function () {
console.log("change");
if ($(this).is(":checked")) {
$("#one").attr("checked", false);
$("#two").prop('checked', true);
}
else {
$("#two").attr("checked", false);
$("#one").prop('checked', true);
}
});
使用
$(&#34;#one&#34;)。道具(&#39;已检查&#39;,是);
而不是
$(&#34;#one&#34;)。attr(&#39;已检查&#39;,&#39;已检查&#39;);
享受:)