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

问题描述 投票:541回答:16

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

以,例如以下代码:

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

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

jquery html html5 jquery-ui checked
16个回答
998
投票
$('#element').click(function() {
   if($('#radio_button').is(':checked')) { alert("it's checked"); }
});

4
投票

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

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

Working Jsfiddle Here


3
投票

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

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

改变动态单选按钮

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

2
投票

试试这个

    if($('input[name="radiobutton"]:checked').length == 0) {
        alert("Radio buttons are not checked");
    }

2
投票

$('。radio-button-class-name')。is('checked')对我不起作用,但下一个代码运行良好:

    if(typeof $('.radio-button-class-name:checked').val() !== 'undefined'){
     // radio button is checked
    }

1
投票

试试这个:

alert($('#radiobutton')[0].checked)

0
投票

jQuery仍然很受欢迎,但是如果你想没有依赖关系,请参阅下文。短而清晰的功能,以确定ES-2015上是否选中了单选按钮:

function getValueFromRadioButton( name ){
  return [...document.getElementsByName(name)]
         .reduce( (rez, btn) => (btn.checked ? btn.value : rez), null)
}

console.log( getValueFromRadioButton('payment') );
<div>  
  <input type="radio" name="payment" value="offline">
  <input type="radio" name="payment" value="online">
  <input type="radio" name="payment" value="part" checked>
  <input type="radio" name="payment" value="free">
</div>

-3
投票
$("#radio_1").prop("checked", true);

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

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

142
投票

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

$(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!');
    }
  });
});

Source

jQuery API Ref


38
投票

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

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

这对我来说很好!


31
投票

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

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

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

$('#radio_button').attr("checked", "checked");
$('#radio_button').click();

18
投票

//通过课程检查

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

//检查姓名

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

//检查数据

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

9
投票

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

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

9
投票

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

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

6
投票

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

$('#radio_button :checked').live('change',function(){
alert('Something is checked.');
});

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


5
投票

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

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

对我有用......

© www.soinside.com 2019 - 2024. All rights reserved.