单选按钮消失了#39;

时间:2014-07-09 14:40:26

标签: javascript jquery html radio-button

使用复选框,我想更改两个单选按钮的选中状态。这样可以正常工作,但是当再次更改复选框时,单选按钮会在代码显示已选中时视觉'消失'。这是怎么来的?

演示:http://jsfiddle.net/Tz99c/

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>

1 个答案:

答案 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;);

享受:)