如何从 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复选框,并在选中时禁用选择列表

在AngularJS中选择一个输入字段时如何禁用一个输入字段? (都使用相同的 ng 模型)

如果用户从浏览器返回时具有值,如何启用默认禁用的输入

如何在角度中禁用matchip

使用复选框并且需要 AngularJS

通过输入条件禁用/启用按钮 [AngularJS]