【问题标题】:Check if any radio or checkbox is selected检查是否选择了任何单选或复选框
【发布时间】:2012-02-27 21:51:38
【问题描述】:

我将如何使用 jQuery 来确定复选框或单选按钮是否被选中?

这是我的 HTML:

<form>
<input type="radio" name="sex" value="male" /> Male<br />
<input type="radio" name="sex" value="female" /> Female
</form>

<span id="check1">check</span>

<form>
<input type="checkbox" name="vehicle" value="Bike" /> I have a bike<br />
<input type="checkbox" name="vehicle" value="Car" /> I have a car
</form>

<span id="check2">check</span>

这是一些伪 JavaScript:

$("#check1").click(function(){
    if(any radio is selected){
       alert("Please select one radio");
    }
})

$("#check2").click(function(){
    if(any checkbox is selected){
       alert("Please select minimum one checkbox");
    }
})

在 jQuery 中可以吗?

jsfiddle 上的实时示例:http://jsfiddle.net/BghzK/ 感谢您的帮助!

【问题讨论】:

  • 为什么是-1?请我回答
  • 不要介意投反对票。这是一个格式良好的问题,包括代码和小提琴。选民可能认为您应该能够通过搜索 StackOverflow 找到答案。但是,我的经验是,任何愿意花时间发布小提琴和代码的人都已经尝试过搜索。

标签: javascript jquery html


【解决方案1】:

您可以在选择器表达式中使用:checked 伪选择器。将此与.length 结合起来,查看返回了多少。在这种情况下,我们获取所有选中的单选按钮,并查看长度是否为零,表示没有被选中。

http://jsfiddle.net/mrtsherman/BghzK/2/

$("#check1").click(function(){
    if($('input[type=radio]:checked').length == 0){
       alert("Please select one radio");
    }
})

$("#check2").click(function(){
    if($('input[type=checkbox]:checked').length == 0){
       alert("Please select minimum one checkbox");
    }
})

​

【讨论】:

    【解决方案2】:
    if( !$(':radio:checked').length){
        alert('Please select one radio');
    }
    

    【讨论】:

    • 在您的警报中,您以双引号开头并以单引号结尾.. 它会中断
    • 这是一个很好的答案。比我的好,因为它更具可读性。 jsfiddle.net/mrtsherman/BghzK/3
    【解决方案3】:

    您需要将 is(":checked") 与选择器一起使用。示例代码如下:

     $(function() {
               $("#check1").click(function(){
                    if(!($("input[name='sex']").is(":checked"))){
                       alert("Please select one radio");
                    }
                 })
    
            $("#check2").click(function(){
                 if(!($("input[name='vehicle']").is(":checked"))){
                   alert("Please select minimum one checkbox");
    
                }
            })
    
            });
    

    【讨论】:

      【解决方案4】:

      使用jquery Validation插件自动完成。对于单选按钮,您只需在表单中添加元素 required

      【讨论】:

        【解决方案5】:
        var rdo = $('input[name="group"]:checked');
        var boxes = $('input[type="checkbox"]:checked');
        
        if(rdo.length == 0) 
            alert("Please select one radio");
        
        if(boxes.length == 0)
            alert("Please select minimum one checkbox");
        

        【讨论】:

          【解决方案6】:

          你可以这么简单地试试这个方法

             var chkvalue =   $('input[name="sex"]:checked').val();
              if(chkvalue =="")
              {
               alert("Please checked the radio button");
               return;
              }
          

          【讨论】:

            猜你喜欢
            • 2014-03-16
            • 2013-03-17
            • 2015-07-05
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-01-24
            • 1970-01-01
            相关资源
            最近更新 更多