我试图根据用户检查的单选按钮将文本添加到 div,但无论检查哪个属性,它最终都会触发“else”块,并且每次都显示“female”。

请帮忙!

<input type="radio" name="gender" class="gender" id="male" value="male">Male<br />
<input type="radio" name="gender" class="gender" id="female" value="female">Female<br />

$(".gender").change(function () {
if ($("#male").attr("checked")) {
        $("#content").text("male");
    }
    else {
        $("#content").text("female");
    }
});

最佳答案

使用 .prop('checked') 而不是 .attr('checked') 。后者基于 HTML 属性,该属性始终为 false,因为它不在 DOM 中。 .prop 可用于检查可能在 DOM 中不可见的属性更改。

http://jsfiddle.net/Xxuh8/

关于javascript - jQuery 单选按钮 "checked"属性未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14840894/

10-12 00:36
查看更多