簡體   English   中英

Select Angular/ JavaScript 中的所有復選框

[英]Select all checkboxes in Angular/ JavaScript

我想 Select Angular/JavaScript 中的所有復選框,我嘗試了一些不起作用的方法。

select 的校驗碼都是這個:

<div class="form-groupCheckbox">
    <input class="checkbox" name="confirm" id="confirm1" type="checkbox">
    <label for="confirm1">  Selecionar todos  </label>
  </div>

當我單擊“全選”框時,我想在此處選中所有這些框

      <input class="checkbox" name="confirm" id="confirm1" type="checkbox">
      <label for="confirm1"> xx </label>


      <input class="checkbox" name="confirm" id="confirm2" type="checkbox">
      <label for="confirm1"> ff </label>

      <input class="checkbox" name="confirm" id="confirm3" type="checkbox">
      <label for="confirm1">rr </label>

您可以做的是將每個復選框鏈接到某個變量,然后在用戶 select select-all checkbox時使它們全部為true

HTML 文件將如下所示:

<div class="form-groupCheckbox">
    <input class="checkbox" name="confirm" id="confirm1" type="checkbox" #selectAll (change)="onSelectAllChange(selectAll.value)">
    <label for="confirm1">  Selecionar todos  </label>
</div>

<ng-container *ngFor="let checkbox of checkboxes">
  <input class="checkbox" name="confirm" [(ngModel)]="checkbox.value" id="{{checkbox.id}}" type="checkbox">
  <label for="confirm1"> {{checkbox.label}} </label>
</ng-container>

TypeScript 文件將如下所示:

public checkboxes = [
    {
      value: false,
      id: 'checkbox_1',
      lablel: 'Label 1'
    },
    {
      value: false,
      id: 'checkbox_2',
      lablel: 'Label 2'
    },
    {
      value: false,
      id: 'checkbox_3',
      lablel: 'Label 3'
    }
  ];

  onSelectAllChange(value: boolean) {
    checkboxes.forEach((checkbox: any) => {
      if (value) {
        checkbox.value = true;
      } else {
        checkbox.value = false;
      }
    });
  }

這是 javascript 的方法。 更改主復選框 html 如下。

<div class="form-groupCheckbox">
    <input class="checkbox" name="confirmmain" onclick="selects()" id="confirmall" type="checkbox">
    <label for="confirm1">  Selecionar todos  </label>
  </div>

現在添加使復選框選中和取消選中的新腳本

<script>
       function selects(){  
       var ele=document.getElementById('confirmall');  
       if(ele.checked == true) {
        
                var ele=document.getElementsByName('confirm');  
                
                for(var i=0; i<ele.length; i++){  
                    if(ele[i].type=='checkbox')  
                        ele[i].checked=true;  
                }  
       } else {
       var ele=document.getElementsByName('confirm');  
                for(var i=0; i<ele.length; i++){  
                    if(ele[i].type=='checkbox')  
                        ele[i].checked=false;  
                      
                }  
                }
            }         
      </script>

暫無
暫無

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

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