【问题标题】:How can I toggle a radio button's checked state with jQuery?如何使用 jQuery 切换单选按钮的选中状态?
【发布时间】:2015-06-03 01:50:49
【问题描述】:

可以看到here,我有这个HTML:

<input type="radio" id="radbtnEmp" >rad btn</input>

...还有这个 jQuery:

$('#radbtnEmp').click(function () {
    alert("radbtnEmp clicked");
});

当我单击单选按钮时会显示警报;但是,再次单击单选按钮不会将其状态切换回未选中状态。如何在 jQuery 中做到这一点?

我希望能够像这样(或类似的)响应它的状态:

if ($('#radbtnEmp').attr('checked', true)) {
    // do stuff
} else {
    // do other stuff
}

...但是如果单选按钮从未被选中/为假,那是行不通的。

【问题讨论】:

  • 单选按钮不能切换回“未选中”,这不是它们的工作方式,您应该使用复选框。
  • 你在追求这个吗? -> http://jsfiddle.net/jy6t5oru/1/?
  • 仅供参考,输入是无效元素,它不能包含任何其他元素,没有结束标签
  • 是的,完全一样,有些元素是自关闭的,没有关闭标签,不能包含文本或子元素。
  • @B.ClayShannon 我想基本上你想要:&lt;label&gt;&lt;input type="checkbox" id="ckbxEmp"&gt;czech Bachs&lt;/label&gt; 使相关的复选框文本可点击。如果我是对的,在 XHTML 中,您应该自行关闭输入元素:&lt;input type="checkbox" id="ckbxEmp" /&gt;

标签: javascript jquery html radio-button


【解决方案1】:

单选按钮不能被选中和取消选中..

为此,您需要使用复选框:

HTML:

<input type = "checkbox" id = "myCheckBox">I am CheckBox</input>

jQuery:

$('#myCheckBox').on('click', function() {

    if ($('#myCheckBox').is(':checked')) {
        // code
    }
    else {
        // code
    }
})

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2011-04-15
    • 1970-01-01
    • 2020-06-08
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    相关资源
    最近更新 更多