如何从 AngularJS 输入中禁用我的复选框?
Posted
技术标签:
【中文标题】如何从 AngularJS 输入中禁用我的复选框?【英文标题】:How can I disable my checkbox from AngularJS input? 【发布时间】:2015-06-04 01:36:18 【问题描述】:<div ng-repeat="x in spaceutilization">
<input type="checkbox" name="x.filenumber" id="x.id" class = "pdffiles" value="101SPx.initials.dwg" /><label for="x.id"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />
</div>
我需要能够向这个 sn-p 添加一些内容,以禁用基于另一个 AngularJS 输入(例如 x.status)的输入复选框。我试着简单地做:
<input type="checkbox" name="x.filenumber" id="x.id" class = "pdffiles" value="101SPx.initials.dwg" x.status />
status:'disabled'
的位置,但输出为
x.status=""
在输入元素中......我根本不明白为什么。但这似乎是最简单的路线。
【问题讨论】:
您不能使用 Interpolation 方法将属性动态添加到您的 html 标签。在你的情况下,你可以简单地做ng-disabled="x.status"
【参考方案1】:
您需要使用ng-disabled="expression"
指令,在表达式评估值的基础上,它会向该元素添加禁用属性。此外,为了更好地评估属性值,您可以使用ng-attr
指令
标记
<input type="checkbox" ng-attr-name="x.filenumber" ng-attr-id="x.id" class ="pdffiles"
value="101SPx.initials.dwg" ng-disabled="x.status == 'disabled'"/>
如果x.status
确实返回了bool
值,那么您可以直接使用ng-disabled="x.status"
【讨论】:
你的意思是 x.status == 'disabled' 吗?另外,地位等于什么?如果我没有禁用复选框怎么办? 使用上面@Rahil Wazir 的评论,我做了 ng-disabled="x.status" where status:'true' or status:'false" @Christine268 嘿,不要使用ng-disabled
指令的插值,ng-disabled
指令已经足够成熟,可以评估范围变量,如果 x.status
具有布尔值,则它必须是 ng-disabled="x.status"
@pankajparker 当我将其更改为 ng-disabled="x.status" 时,它不再起作用。 status 等于 true 或 false。 ng-disabled="x.status" 对我有用。
@Christine268 我更新了答案,现在你可以投票并接受它谢谢:)以上是关于如何从 AngularJS 输入中禁用我的复选框?的主要内容,如果未能解决你的问题,请参考以下文章
加载时默认选中Angularjs复选框,并在选中时禁用选择列表