【问题标题】:How to check uncheck checkboxes inside nested gridview using javascript or jquery如何使用javascript或jquery检查嵌套gridview中的取消选中复选框
【发布时间】:2019-09-20 14:15:57
【问题描述】:

实际上,我实现了一半的代码,例如如果选中一个复选框,然后选中该复选框下的所有复选框。

但是现在我想取消选中主复选框,如果我也标记了取消选中其他复选框......

请帮我解决这个问题...

我的代码:

<script type="text/javascript">
    function SelectAllCheckboxesA(chk, chk1, chk2, chk3, chk4) {
        document.getElementById(chk1).checked = document.getElementById(chk2).checked = document.getElementById(chk3).checked = document.getElementById(chk4).checked = document.getElementById(chk).checked;
        if (document.getElementById(chk1).checked == false || document.getElementById(chk2).checked == false || document.getElementById(chk3).checked == false || document.getElementById(chk4).checked == false) document.getElementById(chk).checked = false;
    }
</script>

【问题讨论】:

  • 这和 C# 有什么关系?

标签: javascript jquery html asp.net


【解决方案1】:

如果您为父复选框分配一个 css 类,并为所有子复选框分配另一个类会更容易。

<html>
   <body>
      <br><br>
      <input type="checkbox" class="parent" name="vehicle" > Parent<br>
      <br>
      <input type="checkbox" class="child" name="vehicle"> child 1<br>
      <input type="checkbox" class="child" name="vehicle"> child 2<br>
      <input type="checkbox" class="child" name="vehicle"> child 3<br>
      <script type="text/javascript">
     var parentCheckBox = document.querySelector(".parent");
     var childCheckBoxes = document.querySelectorAll(".child");
     parentCheckBox.onclick = function(){
         childCheckBoxes.forEach(function(child){
        child.checked=parentCheckBox.checked;
         });
     }
     childCheckBoxes.forEach(function(child){
        child.onclick = function(){ 
      var allchecked = true;
         childCheckBoxes.forEach(function(childBox){       
           allchecked = allchecked? childBox.checked : allchecked;       
         });
           parentCheckBox.checked = allchecked;
         } 
     });
      </script>
   </body>
</html>

这里是演示https://jsfiddle.net/m23txgdz/

【讨论】:

  • 非常感谢.. 实际上这个解决方案真的很有帮助。但是,在我的情况下,我使用的是嵌套的 gridview,所以这是如何工作的......我需要循环我的复选框还是什么?
  • @swati:当您的页面准备好或加载网格时,声明两个数组 parentCheckBox 和 ChildCheckBoxes。将主复选框存储在 ParentCheckBox 中,将相关复选框存储在 childCheckBoxes 数组中。然后运行上面的代码。例如:parentCheckBox = [chk] , childCheckBoxes = [chk1,chk2,chk3,chk4]。
猜你喜欢
  • 2014-02-11
  • 2013-06-29
  • 1970-01-01
  • 1970-01-01
  • 2013-10-31
  • 1970-01-01
  • 2019-03-30
  • 2012-02-04
相关资源
最近更新 更多