如何从 AngularJS 输入中禁用我的复选框?

How can I disable my checkbox from AngularJS input?

<div ng-repeat="x in spaceutilization">
  <input type="checkbox" name="{{x.filenumber}}" id="{{x.id}}" class = "pdffiles" value="101SP{{x.initials}}.dwg" /><label for="{{x.id}}"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />
</div>

我需要能够向此代码段添加一些内容,以禁用基于另一个 AngularJS 输入(例如 {{x.status}} 的输入复选框。我试着简单地做:

<input type="checkbox" name="{{x.filenumber}}" id="{{x.id}}" class = "pdffiles" value="101SP{{x.initials}}.dwg" {{x.status}} />

其中 status:'disabled' 但输出为

{{x.status}}=""

在输入元素中...我完全不明白为什么。但这似乎是最简单的路线。

您需要使用 ng-disabled="expression" 指令,在表达式评估值的基础上,它向 element.Also 添加禁用属性以获得更好的属性值评估,您可以使用 ng-attr 指令

标记

<input type="checkbox" ng-attr-name="{{x.filenumber}}" ng-attr-id="{{x.id}}" class ="pdffiles" 
value="101SP{{x.initials}}.dwg" ng-disabled="x.status == 'disabled'"/>

如果 x.status 做 return 一个 bool 值那么你可以直接使用 ng-disabled="{{x.status}}"