javascript – 如何禁用AngularJS输入中的复选框?

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...