【问题标题】:JQuery: Check if any radio button is checked using radio button class nameJQuery:检查是否使用单选按钮类名称检查了任何单选按钮
【发布时间】:2015-02-19 14:14:32
【问题描述】:

我意识到之前在堆栈溢出问题上已经回答了几次类似的问题。我检查了所有问题,没有一个与我的相似。

我有一个带有一些单选按钮的 html 表单。在我的验证中,我想检查是否至少选中了一个单选按钮。

到目前为止我的方法:

  • 所有单选按钮都具有相同的类
  • 所有单选按钮都具有相同的名称

我需要

  • 检查是否至少有一个单选按钮被选中
  • 读取所选按钮的值。

到目前为止我的 Javascript

function supportFormValidation(){
   var isChecked = $('.radioButton').attr('checked')?true:false;
   alert(isChecked);
   return false;}    

这总是返回 false。但是,当我尝试通过每个单选按钮的各个 ID 读取 vale 时,它​​会返回 true。有什么方法可以检查是否使用类名检查了单选按钮。

JSFiddle:http://jsfiddle.net/evj9nch3/

【问题讨论】:

标签: javascript jquery


【解决方案1】:

只需使用 :checked。

var isChecked = !!($('.radioButton:checked').length);

【讨论】:

    【解决方案2】:

    为了访问checked 属性,您需要使用prop 函数(无论如何在1.6 之后)。因为该值为真或假,所以它被认为是元素的属性而不是属性。

    Nits 的回答是一种更好的方法,但请在下面查看您的实现不起作用的原因。

    Take a look at this post for more info

    Here is a link to the fiddle

    function supportFormValidation() {
      var isChecked = $('.radioButton').prop('checked') ? true : false;
      alert(isChecked);
      return false;
    };
    
    supportFormValidation();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type='checkbox' class='radioButton' checked='true' />

    【讨论】:

      猜你喜欢
      • 2020-04-10
      • 2016-09-26
      • 1970-01-01
      • 2011-01-17
      • 2013-03-09
      • 2015-05-28
      • 2014-04-09
      • 2019-05-29
      • 2012-03-07
      相关资源
      最近更新 更多