找出是否用JQuery检查了单选按钮?

Kei*_*gan 561 html jquery jquery-ui checked

我可以设置一个单选按钮来检查罚款,但我想要做的是设置一种"监听器",当检查某个单选按钮时它会激活.

以,例如以下代码:

$("#element").click(function()
{ 
    $('#radio_button').attr("checked", "checked");
});
Run Code Online (Sandbox Code Playgroud)

它添加了一个checked属性,一切都很好,但我怎么去添加一个警报.例如,在没有点击功能的帮助下检查单选按钮时会弹出?

Dav*_*und 1033

$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it's checked"); }
});
Run Code Online (Sandbox Code Playgroud)

  • @Znarkus:OP似乎很满意.你会说你自己使用`('#radio_button').click`没有'click`? (5认同)
  • 这并没有解决"没有点击功能的帮助",是吗? (3认同)
  • @David第二行应该是`if($('#radio_button').is(':checked'))){alert("it's checked"); 你忽略了jQuery $符号,然后需要将它全部包含在更多的括号中. (3认同)
  • @zua:你说得对!它甚至有一个语法错误,就像以前那样(不匹配的括号).固定 (2认同)

Par*_*rag 148

如果您有一组共享相同名称属性的单选按钮,并且在提交或某些事件时您要检查是否已选中其中一个单选按钮,则可以通过以下代码执行此操作:

$(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!');
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

资源

jQuery API参考


Pat*_*der 41

由于Parag的解决方案给我一个错误,这是我的解决方案(结合David Hedlund和Parag的):

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

这对我来说很好!


Zna*_*kus 31

您必须绑定复选框的click事件,因为更改事件在IE中不起作用.

$('#radio_button').click(function(){
    // if ($(this).is(':checked')) alert('is checked'); 
    alert('check-checky-check was changed');
});
Run Code Online (Sandbox Code Playgroud)

现在,当您以编程方式更改状态时,还必须触发此事件:

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();
Run Code Online (Sandbox Code Playgroud)


Nan*_*mar 18

//通过课程检查

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

//检查姓名

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

//检查数据

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


Sae*_*ini 9

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

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


小智 9

解决方案很简单,因为在选中某个单选按钮时你只需要"听众".这样做: -

if($('#yourRadioButtonId').is(':checked')){ 
// Do your listener's stuff here. 
}
Run Code Online (Sandbox Code Playgroud)


iCe*_*ezz 6

如果您不想使用单击函数,请使用Jquery更改函数

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});
Run Code Online (Sandbox Code Playgroud)

这应该是您正在寻找的答案.如果您使用的是1.9.1以上的Jquery版本,请尝试使用on作为实时函数已被弃用.


Obo*_*est 6

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

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

获取单击的单选按钮的值

 var radioval=$('input[type=radio][name=YourRadioName]:checked').val();
Run Code Online (Sandbox Code Playgroud)


Bil*_*ren 5

...谢谢你们......我所需要的只是已检查单选按钮的"价值",其中集合中的每个单选按钮都有不同的ID ...

 var user_cat = $("input[name='user_cat']:checked").val();
Run Code Online (Sandbox Code Playgroud)

对我有用......


Thy*_*n C 5

使用所有类型的单选按钮和浏览器

if($('#radio_button_id')[0].checked) {
   alert("radiobutton checked")
}
else{
   alert("not checked");
}
Run Code Online (Sandbox Code Playgroud)

在这里工作