首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过jquery验证radio[required]

如何通过jquery验证radio[required]
EN

Stack Overflow用户
提问于 2012-08-30 14:30:09
回答 4查看 1.9K关注 0票数 0

ı有10组收音机。每组有2个或3个或更多的无线电,这并不重要。您需要从每个组中至少选择一个无线电。

当您提交表单时,如果其中任何一个(组)留空,则必须检查并返回错误。

ı尝试了一些代码,但无法解决它。ı编写此代码是为了查找和显示错误,但它会一个接一个地查找,所以如果有1个完整的错误,它就会提交表单。

代码语言:javascript
运行
复制
 $('#myForm').submit(function () {

     $(".radiogrup").each(function () {
         var sel = $(this).find("input[type='radio']:checked").val();

         if (sel == null) {
             alert("error msg");
             return false;

         }

     });


 });

html:

如果你知道如何配置required="required“,也许ı可以使用它。

代码语言:javascript
运行
复制
<div class="radiogrup">
    <form id="form1" name="form1" method="post" action="">
      <p>
        <label>
          <input type="radio" name="RadioGroup1" value="radyo" id="RadioGroup1_0" />
          Radyo</label>
        <br />
        <label>
          <input type="radio" name="RadioGroup1" value="radyo" id="RadioGroup1_1" />
          Radyo</label>
        <br />

        <input name="" type="submit" />
      </p>
    </form>
</div>
EN

回答 4

Stack Overflow用户

发布于 2012-08-30 14:43:27

也许这篇文章可以帮你避免使用$.each

代码语言:javascript
运行
复制
$('#myForm').submit(function () {    
var $elems = $(".radiogrup");

        (function fetch(i) {
            if(i >= $elems.length) return;  // no elems left

            var $elem = $elems.eq(i);

            var sel = $($elem).find("input[type='radio']:checked").val();
            if (sel == null) {
                     alert("error msg"); // just don't call fetch again
            }
            else
            {
                 fetch(i + 1); //next one
                 //apply more code here if form validation successfull
            }
        })(0);  // start with first elem
});
票数 0
EN

Stack Overflow用户

发布于 2012-08-30 14:48:18

代码语言:javascript
运行
复制
function ValidateRadioButtons() {  //Function for Validating If Radio Button isselected
     var ischecked = false;
    $('.radiogrup').children('radio').each(function () {   //LoopingthroughradioButtons
    // "this" is the current element(radio) in the loop
      if ($(this).is(':checked')) {
          ischecked = true; //Radio Button is Checked
        }
    });
   if (ischecked == true) {
    alert("Validation Passed");
    }
   else {
    alert("Please select a Radio Button");
  }
}
票数 0
EN

Stack Overflow用户

发布于 2012-08-30 14:50:22

试着这样纠正你的JS代码:

代码语言:javascript
运行
复制
$('form').on("submit",function () {
    var valid=true; 
    $(".radiogrup").each(function(){
        var sel=$(this).find("input:radio:checked");
         if(!sel.length){
             valid=false;
         }
    });
    if(!valid){
        alert("error msg"); 
        return false;
    }

});

看看这个:http://jsfiddle.net/32aew/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12191078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档