如何使用jQuery检查单选按钮是否被选中?

43

我有一个单选按钮组,我想使用JQuery检查单选按钮是否被选中。如何实现?


2
可能是重复的问题:如何获取已选中的单选按钮的值,使用jQuery - matino
可能是检查特定单选按钮是否被选中的重复问题。 - Felix Kling
上述评论中提到的问题是如何获取已选值并检查特定值是否已选择,而不是验证它是否已被选中。因此,这是不同的。 - Sadee
10个回答

91

给定一组单选按钮:

<input type="radio" id="radio1" name="radioGroup" value="1">
<input type="radio" id="radio2" name="radioGroup" value="2">

您可以使用jQuery来测试特定的复选框是否被选中,方法如下:
if ($("#radio1").prop("checked")) {
   // do something
}

// OR
if ($("#radio1").is(":checked")) {
   // do something
}

// OR if you don't have ids set you can go by group name and value
// (basically you need a selector that lets you specify the particular input)
if ($("input[name='radioGroup'][value='1']").prop("checked"))

您可以按照以下方式获取当前选中组中的值:

$("input[name='radioGroup']:checked").val()

10
以下代码检查名为“yourRadioName”的单选按钮是否被选中:
$(document).ready(function() {
  if($("input:radio[name='yourRadioName']").is(":checked")) {
      //its checked
  }
});

1
描述你的代码实际执行的操作会很有帮助(对于提问者而言,不是我)。 - BeRecursive

4

jQuery 3.3.1

if (typeof $("input[name='yourRadioName']:checked").val() === "undefined") {
    alert('is not selected');
}else{
    alert('is selected');
}

4

这是最佳实践。

$("input[name='radioGroup']:checked").val()

1

单选按钮是,

<input type="radio" id="radio_1" class="radioButtons" name="radioButton" value="1">
<input type="radio" id="radio_2" class="radioButtons" name="radioButton" value="2">

检查点击事件

$('.radioButtons').click(function(){
    if($("#radio_1")[0].checked){
       //logic here
    }
});

1
var rdValue = $("input[name='radioGroup']:checked").val();
if(rdValue == '' || typeof rdValue === "undefined") {   
    console.log("not checked");
}

0

进一步说,如果您执行以下操作,则可以检查单选按钮组中是否已选中任何元素:

if ($('input[name="yourRadioNames"]:checked').val()){(已选中)或if (!$('input[name="yourRadioNames"]:checked').val()){(未选中)


0

你可以简单地检查该属性。

if( $("input[name='radioButtonName']").prop('checked') ){
    //implement your logic
  }else{
    //do something else as radio not checked   
  }

0

也看看这个:

$(document).ready(function() { 
  if($("input:radio[name='yourRadioGroupName'][value='yourvalue']").is(":checked")) { 
      //its checked 
  } 
});

0

试试这个:

var count =0;

$('input[name="radioGroup"]').each(function(){
  if (this.checked)
    {
      count++;
    }
});

如果任何单选按钮被选中,则会返回1。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接