在ng repeat中使ng disabled为true
Making ng-disabled true inside ng-repeat
我有一个在ng repeat中的表单,只有当我选择了所需字段时,我才需要启用它(在本例中为<select>
下拉菜单)。但不幸的是,这似乎不起作用。有人能提出一个可能的解决方案吗。
<form name="myForm">
<div ng-repeat="item in data">
<select ng-model="name" required ng-options="r.id as r.name for r in list">
<option value="">--Select---</option>
</select>
<button class="button" ng-click="save()" ng-disabled="myForm.$invalid">Save</button>
</div>
</form>
使用ng-form
指令,这里是DOC
<form name="myForm" novalidate>
<div ng-repeat="item in data">
<ng-form name="testForm">
<select ng-model="name" required ng-options="r.id as r.name for r in list">
<option value="">--Select---</option>
</select>
<button class="button" ng-click="save()" ng-disabled="testForm.$invalid">Save</button>
</ng-form>
</div>
</form>
这是plunker
这里有一个很好的解释
因为表单在ng-repeat
中,所以会有多个表单绑定到名为myForm
(覆盖)的$scope
您应该在ng-repeat
中为每个表单添加不同的名称
示例:
<form name="myForm{{$index}}">
在你的按钮上:
<button class="button" ng-click="save()" ng-disabled="myForm{{$index}}.$invalid">Save</button>
如果为每个select元素添加名称,这样就可以单独引用字段错误:
<form name="myForm">
<div ng-repeat="item in data">
<select ng-model="name" name="name{{$index}}" required ng-options="r.id as r.name for r in list">
<option value="">--Select---</option>
</select>
<button class="button" ng-click="save()" ng-disabled="myForm['name' + $index].$invalid">Save</button>
</div>
</form>
演示:http://plnkr.co/edit/RVY39iMv3dy96Cuw4q6B?p=info
相关文章:
- 如果语句为true,则对一个或多个ng进行角度检查
- 在ng repeat中使ng disabled为true
- 为什么我的html节点保持类ng隐藏属性ng show=true
- 如果值为true,AngularJS将更新ng模型
- 如何将 ng-show 与控制器中返回 true/false 的函数一起使用
- 如何使用带有替换的模板覆盖/补充指令中的ng类:true
- 为什么ng-change总是从模型中传递“true”
- AngularJs ng显示当列表中的某一项在一行中为true时
- angular I只能设置'true'on'ng-if'但我可以't设置`false'
- 只有$touch为true时才会显示angular ng消息
- 单击时运行ng repeat(当ng show为true时)
- angular ng show即使设置为true也会显示内容
- ng使用内联编辑重复,如何使第一个(或最后一个)元素的editmode=true
- Ng-if在ng-repeat中总是返回true
- 在ng-click中,复选框返回false而不是true
- 当AngularJS中ng-checked = true时,在页面加载时调用函数
- 嵌套ng-repeat中$last的别名总是返回true
- AngularJS ng重复筛选器:{visible:true}不遵循属性更改
- AngularJS复选框动态ng-true-value表达式
- Angular ng-repeat with bootstrap输入复选框,动态ng-model使用ng-true-va