我可以将单选按钮设置为checked fine,但我想做的是设置一种“侦听器”,当某个单选按钮被选中时激活。

以以下代码为例:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});

它添加了一个checked属性,一切都很好,但我该怎么做呢 添加警报。例如,选中单选按钮时弹出 没有点击功能的帮助?


当前回答

$("#radio_1").prop("checked", true);

对于1.6之前的jQuery版本,请使用:

$("#radio_1").attr('checked', 'checked');

其他回答

jQuery仍然很流行,但是如果你不想依赖,请参阅下面。 ES-2015上单选按钮是否被选中的短清晰功能:

功能检索从放射学( return键[...文件getElementsByName (name)。 .reduce(rez, btn) => (btn)检查?btn。价值:保留区,空) 的 控制台(getvaluetransm radio(“payment”); < div > <输入类型=“无线电” <输入类型=“无线电” <输入类型=“无线电” <输入类型=“无线电” < / div >

... 谢谢大家……我所需要的是选中单选按钮的“值”,其中每个单选按钮在集合中有不同的id…

 var user_cat = $("input[name='user_cat']:checked").val();

对我有用……

如果你有一组单选按钮共享相同的name属性,并且在提交或某些事件时,你想检查这些单选按钮中的一个是否被选中,你可以简单地通过以下代码做到这一点:

$(document).ready(function(){
  $('#submit_button').click(function() {
    if (!$("input[name='name']:checked").val()) {
       alert('Nothing is checked!');
        return false;
    }
    else {
      alert('One of the radio buttons is checked!');
    }
  });
});

jQuery API参考

//检查类

if($("input:radio[class='className']").is(":checked")) {
     //write your code         
}

//通过name检查

if($("input:radio[name='Name']").is(":checked")) {
         //write your code         
}

//检查数据

if($("input:radio[data-name='value']").is(":checked")) {
         //write your code         
}

另一种方法是使用prop (jQuery >= 1.6):

$("input[type=radio]").click(function () {
    if($(this).prop("checked")) { alert("checked!"); }
});