【问题标题】:JQuery function to select checkboxes用于选择复选框的 JQuery 函数
【发布时间】:2010-06-14 16:57:39
【问题描述】:

我需要一个接受参数的函数,其 id 示例为 div 然后在 div 内循环以查找复选框,如果有任何检查,是否检查其值,如果每个复选框都被检查返回 false,则返回 true。

【问题讨论】:

    标签: asp.net javascript jquery


    【解决方案1】:

    你可以这样做

    $('#parent:has(input:checkbox:checked)')
    

    如果您找到任何可以返回 true 的元素,例如 .is('*').length == 1

    你可以写一个函数,甚至是一个小插件:

    $.fn.extend({   
         hasCheckedBoxes: function() {  
           return this.has('input:checkbox:checked').is('*');
         }  
    });
    

    这可以用作:

    if($('#Documents').hasCheckedBoxes()) //`#Documents` contains a checked box.
    

    if($('div').hasCheckedBoxes()) //true if any `<p>` contains a checked box.
    

    【讨论】:

      【解决方案2】:

      希望我对您的理解正确。这就是我认为您所要求的:一个函数,该函数接受元素 ID,如果相应元素包含任何选中的复选框,则返回 false,否则返回 true

      这是一个无库版本。与 jQuery 版本相比,它会更快,并且可以在更多浏览器中运行。

      function containsNoCheckedCheckboxes(id) {
          var el = document.getElementById(id);
          if (el) {
              var inputs = el.getElementsByTagName("input");
              for (var i = 0, len = inputs.length; i < len; ++i) {
                  if (inputs[i].type == "checkbox" && inputs[i].checked) {
                      return false;
                  }
              }
          }
          return true;
      }
      

      【讨论】:

      • 非常感谢你,正是我所需要的。
      猜你喜欢
      • 2013-11-17
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-08
      • 2020-11-05
      • 2018-09-15
      相关资源
      最近更新 更多