【发布时间】:2024-04-28 06:15:02
【问题描述】:
我在 ng-repeat 中有一个 select 语句。我使用 $index 值来获取每个选择的唯一名称。然后我使用这个名称来检查验证。验证在不在重复范围内时运行良好,但在重复范围内时,所需选择周围的红色框不会显示。
这是小提琴。
非常感谢任何帮助。
P.S 单击 + 号以在小提琴中添加更多行。
http://jsfiddle.net/angularNovice/T47CG/6/
<form name="testForm">
<select name="selectOutside"
class="span2" ng-model="plugin.selectedDevice"
ng-options="item.ID as item.Title for item in devices" ng-required="true">
<option style="display:none" value=""></option>
</select>
<span class="error" ng-show="testForm.selectOutside.$error.required">
*
</span><br>
<a class="btn" ng-click="addPlugin()">
<i class="glyphicon glyphicon-plus"></i></a>
<table>
<tr ng-repeat="plugin in plugins">
<td><strong>{{$index}}</strong>
</td>
<td>
<select name="selectInside{{$index}}" class="span2"
ng-model="plugin.selectedDevice"
ng-options="item.ID as item.Title for item in devices" ng-required="true">
<option style="display:none" value=""></option>
</select>
<span class="error"
ng-show="testForm.selectInside{{$index}}.$error.required">
*
</span>
</td>
</tr>
</table>
</form>
【问题讨论】:
-
你可以试试
testForm['selectInside' + $index].$error.required这个表达式 -
不,那没用。
-
点击提交按钮可以看到验证错误。见 jsFiddle jsfiddle.net/T47CG/12
标签: angularjs select indexing required ng-repeat