【问题标题】:How do I validate two sets of checkboxes with Jquery?如何使用 Jquery 验证两组复选框?
【发布时间】:2011-06-21 19:03:29
【问题描述】:

我有两组复选框。每组中至少要检查一个。我如何使用 Jquery 完成此任务?这是我到 JS Fiddle 的链接:

http://jsfiddle.net/TknCq/

【问题讨论】:

  • 可能需要一些关于场景的信息.. 何时检查是否至少选择了框?当您提交表单时(即单击按钮)或每次选择/取消选择其中一个框时?

标签: jquery html checkbox checkboxlist


【解决方案1】:

做一个:

$('ul:has(input[type="checkbox"]:checked)').length == 2

其中 2 是组数。它为您提供包含已检查输入 在这种情况下必须为 2ul 的数量 ;) 所以它会检查每个 @987654323包含checkboxes 的@ 至少有一个checked

fiddle here

【讨论】:

  • 那工作!!谢谢。如果两者都未选中,我该如何编程逻辑,然后会显示错误消息?
  • 谢谢。在这里,感谢您的帮助,我如何编写逻辑: $('input').bind('click', function () { if ($('ul:has(input[type="checkbox"]:checked)') .length == 2) { $('#searchValidationError').hide(); }else{ $('#searchValidationError').html('

    请勾选索赔类型和索赔状态'); $ ('#searchValidationError').show(); } });

【解决方案2】:

您可以抓取包装器中已检查属性的所有输入,如果长度> 0,则您至少选中了一个复选框:

var checkboxes_claimStatus = $("#field-claimStatus-wrapper").find("input:checked");
if(checkboxes_claimStatus.length)
{
    alert('checked');
}

对另一组做同样的事情。

【讨论】:

    【解决方案3】:

    试试这个。

    if($("#field-claimType-wrapper input:checked").length > 0){
    
    }
    
    if($("#field-claimStatus-wrapper input:checked").length > 0){
    
    }
    

    【讨论】:

      【解决方案4】:

      使用类似的东西...

      $("input[name='claimType']:checked").size() > 0 && $("input[name='claimStatus']:checked").size() > 0
      

      检查两个组中选中的复选框计数是否大于 0

      这里是更新的 jsfiddle link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-05
        • 1970-01-01
        • 2012-01-27
        • 1970-01-01
        • 1970-01-01
        • 2012-08-31
        • 1970-01-01
        相关资源
        最近更新 更多