【问题标题】:jQuery: How to validate if 6 out of 56 checkboxes are checked? [closed]jQuery:如何验证是否选中了 56 个复选框中的 6 个? [关闭]
【发布时间】:2013-10-01 15:40:24
【问题描述】:

我发现了很多关于如何使用 jQuery 验证是否选中了表单中的复选框之一,但我的问题不止于此: 目前我正在处理一个表单(Johari 窗口),该表单要求用户使用带有 56 个复选框的简单表单检查 56 个项目中的 6 个。

你能指出我正确的方向吗?

编辑: 这成功了,再次感谢您的帮助!

$('form').submit(function(e){
    if($('input[type="checkbox"]:checked').length < 6 ){
        e.preventDefault();     alert("Please select 6 items!");
    } });

【问题讨论】:

  • 哇,几秒钟内就有 7 个答案......我很惊讶!谢谢你们!
  • 顺便说一句,这最终成功了: $('form').submit(function(e){ if($('input[type="checkbox"]:checked').length

标签: javascript jquery checkbox


【解决方案1】:

检查复选框的长度

$('input[type="checkobox"]:checked').length;

你可以这样做

$('form').submit(function(e){
    if($('input[type="checkobox"]:checked').length < 6 ){
        e.preventDefault(); //to stop form submission 
    }
});

参考文献

event.preventDefault

:checked

.length

【讨论】:

    【解决方案2】:

    检查复选框数量的长度:

    $('input[type="checkbox"]').is(":checked").length;
    

    只有在超过 6 个被选中的情况下才提交您的表单:

    $('form').submit(function(e){
        if($('input[type="checkbox"').is(":checked").length < 6 ){
            e.preventDefault();
        }
    });
    

    使用.is(selector)

    【讨论】:

      【解决方案3】:

      你可以尝试使用 jQuery 的 js 函数:

      function isValid(){
          return $('input[type="checkbox"]:checked').length == 6;
      }
      

      【讨论】:

        【解决方案4】:

        您没有说明您是如何进行验证的,但类似:

        if ($(":checked" ).length < 6)
        {
              //Not valid
        }
        

        假设复选框是页面上唯一的“可选择”输入。

        注意 - 还假设检查超过 6 个也可以?

        【讨论】:

          【解决方案5】:

          简单:

          if ($("input[type='checkbox']:checked").length == 6) {
             // Do whatever you need to do
          }
          

          【讨论】:

            【解决方案6】:

            希望这会对你有所帮助。

            if ($('input:checkbox:checked').length == 6) {
                // validation successful
            } else {
                // return an error
            }
            

            【讨论】:

              【解决方案7】:

              一种非常不同的方法仅供参考:

              var checkBox = $('input[type="checkbox"]');
              var num = 0;
              $.each(checkBox, function(){
                  var checked = $(this).is(":checked");
                  if(checked){
                      if(num < 6){
                          num++;
                      } else {
                          //Do something
                      }
                  }
              });
              

              【讨论】:

                猜你喜欢
                • 2014-10-29
                • 2018-03-23
                • 1970-01-01
                • 2021-01-12
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2017-04-05
                相关资源
                最近更新 更多