簡體   English   中英

如何使用javascript或jquery在嵌套gridview中取消選中復選框

[英]How to check uncheck checkboxes inside nested gridview using javascript or jquery

實際上,我實現了一半的代碼,例如選中一個復選框,然后選中該復選框下的所有復選框。

但是現在我想取消選中主復選框,如果我也將其他復選框標記為取消選中...

請幫我解決這個問題...

我的代碼:

<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>

如果您為父復選框分配一個 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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM