我有一个通过ng-repeat Plunker
创建的禁用输入字段列表<ul>
<li ng-repeat="name in names">
<input type="text" disabled value="{{name.item}}"/>
</li>
</ul>
如何禁用第一个输入字段? 提前致谢
答案 0 :(得分:5)
您可以使用ng-disabled并查看ng-repeat指令的$first
变量:
<ul>
<li ng-repeat="name in names">
<input type="text" ng-disabled="!$first" value="{{name.item}}"/>
</li>
</ul>
您可以同样检查$middle
,$last
,$even
和$odd
。如果使用$index
,则可以检查任意行索引。
由于ng-repeat
创建了一个独立的范围,在嵌套的ng-repeat
的情况下,如果只想启用第一个父项中的第一个项,相关的代码将如下所示: p>
<div ng-repeat="item in items">
<ul>
<li ng-repeat="name in names">
<input type="text" ng-disabled="!$parent.$first || !$first" value="{{name.item}}"/>
</li>
</ul>
</div>
您可以通过内部$first
$index
变量访问外部范围ng-repeat
(或$parent
)变量。我创建了一个fork of your Plunker来说明如何做到这一点。
答案 1 :(得分:3)
您正在寻找$index。因此,只需检查当前$index
是否不是第一个“0”:
<ul>
<li ng-repeat="name in names">
<input type="text" ng-disabled="$index != 0" value="{{name.item}}"/>
</li>
</ul>
答案 2 :(得分:3)
这就是你要找的东西!
<ul>
<li ng-repeat="name in names">
<input type="text" ng-disabled="!$first" value="{{name.item}}"/>
</li>
</ul>
您可以看到documentation for ng-repeat
更多特殊变量,例如$first
。