如何根据角度 6 中的条件禁用复选框?

sai*_*sai 14 html checkbox angular angular6 disable

我的html代码,

<div>
  <div>
   <input type="checkbox" id="Checkbox0" name="cCheckbox0" class="custom-control-input" (change)="checkSelected(checkBox[0].label)">
   <label class="label" for="Checkbox0" >first</label>
  </div>
  <div>
  <input type="checkbox" id="Checkbox1" name="cCheckbox1" class="custom-control-input" (change)="checkSelected(checkBox[1].label)">
   <label class="label" for="Checkbox1" >first</label>
  </div>
  <div>
  <input type="checkbox" id="Checkbox2" name="cCheckbox2" class="custom-control-input" (change)="checkSelected(checkBox[2].label)">
   <label class="label" for="Checkbox2" >first</label>
  </div>
</div>


 <div>
  <div>
   <input type="checkbox" id="Checkbox3" name="cCheckbox3" class="custom-control-input" (change)="checkSelected(checkBox[3].label)">
   <label class="label" for="Checkbox3" >first</label>
  </div>
  <div>
  <input type="checkbox" id="Checkbox4" name="cCheckbox4" class="custom-control-input" (change)="checkSelected(checkBox[4].label)">
   <label class="label" for="Checkbox4" >first</label>
  </div>
  <div>
  <input type="checkbox" id="Checkbox5" name="cCheckbox5" class="custom-control-input" (change)="checkSelected(checkBox[5].label)">
   <label class="label" for="Checkbox5" >first</label>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

同样,我在包含复选框的同一个 html 文件中还有两个单独的 div。我需要做的是点击第一个 div 中的第一个复选框,我需要禁用第一个 div、第二个 div 和第三个中的所有其他复选框。

由于我对 angular 完全陌生,因此我不知道如何在此处禁用。我试过使用 ng-disabled 但它似乎不起作用。有人可以帮我弄这个吗?

akh*_*uri 16

对于Angular 2+,您可以通过disabledinput type=checkbox

用: [attr.disabled]="isDisabled ? true : null"

请注意,[attr.disabled]="isDisabled单独这样做是行不通的。您需要显式设置禁用属性以null从禁用复选框中删除禁用属性。

<input type="checkbox" [attr.disabled]="isDisabled ? true : null" />
Run Code Online (Sandbox Code Playgroud)

  • 需要“null”。奇怪的是“false”不会重新启用该复选框 (2认同)

小智 13

ng-disabled是 AngularJS 语法。您可以使用[disabled]输入来禁用复选框。

<input [disabled]="isDisabled" = type="checkbox" id="Checkbox0" name="cCheckbox0" class="custom-control-input" (change)="checkSelected(checkBox[0].label)">
Run Code Online (Sandbox Code Playgroud)

在.ts isDisabled : boolean;


可选的东西

您可以将Angular Material用于您的开发。因为它有很多优点。并且它还具有定义明确的 API。

<mat-checkbox>提供<input type="checkbox">与使用 Material Design 样式和动画增强的本机相同的功能。

角材料


Yas*_*nik 6

您可以使用标签[disable]的属性input[type="checkbox"]

例如:-

<input [disabled]="isDisabled" type="checkbox" id="Checkbox3" name="cCheckbox3" class="custom-control-input" (change)="checkSelected(checkBox[3].label)">
Run Code Online (Sandbox Code Playgroud)

isDisabled变量将保存您的布尔值.ts