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

以以下代码为例:

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

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


当前回答

这将工作在所有版本的jquery。

//-- Check if there's no checked radio button
if ($('#radio_button').is(':checked') === false ) {
  //-- if none, Do something here    
}

当某个单选按钮被选中时,激活某个功能。

// get it from your form or parent id
    if ($('#your_form').find('[name="radio_name"]').is(':checked') === false ) {
      $('#your_form').find('[name="radio_name"]').filter('[value=' + checked_value + ']').prop('checked', true);
    }

html

$('document').ready(function() { var checked_value = 'checked'; if($("#your_form").find('[name="radio_name"]').is(":checked") === false) { $("#your_form") .find('[name="radio_name"]') .filter("[value=" + checked_value + "]") .prop("checked", true); } } ) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form action="" id="your_form"> <input id="user" name="radio_name" type="radio" value="checked"> <label for="user">user</label> <input id="admin" name="radio_name" type="radio" value="not_this_one"> <label for="admin">Admin</label> </form>

其他回答

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

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

对我有用……

动态生成单选按钮检查单选获取值

$("input:radio[name=radiobuttonname:checked").val();

关于更改动态单选按钮

$('input[name^="radioname"]').change(function () {if (this.value == 2) { }else{}});

最终解决方案 使用onChang方法检测单选按钮是否已选中 Jquery > 3.6

         $('input[type=radio][name=YourRadioName]').change(()=>{
             alert("Hello"); });

获取所单击单选按钮的值

 var radioval=$('input[type=radio][name=YourRadioName]:checked').val();

由于Parag的解决方案为我抛出了一个错误,下面是我的解决方案(结合David Hedlund和Parag的解决方案):

if (!$("input[name='name']").is(':checked')) {
   alert('Nothing is checked!');
}
else {
   alert('One of the radio buttons is checked!');
}

这对我来说很有效!

这将工作在所有版本的jquery。

//-- Check if there's no checked radio button
if ($('#radio_button').is(':checked') === false ) {
  //-- if none, Do something here    
}

当某个单选按钮被选中时,激活某个功能。

// get it from your form or parent id
    if ($('#your_form').find('[name="radio_name"]').is(':checked') === false ) {
      $('#your_form').find('[name="radio_name"]').filter('[value=' + checked_value + ']').prop('checked', true);
    }

html

$('document').ready(function() { var checked_value = 'checked'; if($("#your_form").find('[name="radio_name"]').is(":checked") === false) { $("#your_form") .find('[name="radio_name"]') .filter("[value=" + checked_value + "]") .prop("checked", true); } } ) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form action="" id="your_form"> <input id="user" name="radio_name" type="radio" value="checked"> <label for="user">user</label> <input id="admin" name="radio_name" type="radio" value="not_this_one"> <label for="admin">Admin</label> </form>