<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}} />
状态:’禁用’,但输出为
{{x.status}}=""
在输入元素内……我根本不明白为什么.但它似乎是最简单的路线.
解决方法
您需要使用ng-disabled =“expression”指令,在表达式评估值的基础上,它将禁用属性添加到该元素.另外,为了更好的属性值评估,您可以使用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确实返回bool值,那么你可以直接使用ng-disabled =“{{x.status}}”