我遇到过以下问题:
我有<table>
,其中<tr>
是通过ng-repeat
生成的,每个<tr>
包含多个<input>
元素。像这样的Smth:
<table>
<tr ng-repeat="plan in plans">
<td>
<input ng-pattern="/^\d+((\.|\,)\d+)?$/" ng-model="plan.field1" ng-blur="updateRow(plan)">
</td>
<td>
<input ng-pattern="/^\d+((\.|\,)\d+)?$/" ng-model="plan.field2" ng-blur="updateRow(plan)">
</td>
</tr>
</table>
当用户完成编辑输入时,我想要更新完整行。但我想只在此输入有效时才这样做。我的意思是我只有在满足条件updateRow(plan)
时才执行ng-pattern="/^\d+((\.|\,)\d+)?$/"
。或者也许以某种方式在updateRow()
内检查它。但我无法找到一种没有形式的方法。
1)有办法吗?或者可能有更好的方法来实现我的想法? 2)还有办法将ng-blur绑定到一行中的每个输入吗?因为我连续有大约20个输入,当有这么多重复时它看起来很糟糕。
感谢所有人提前!
答案 0 :(得分:0)
所以我通过使用表单和ng-form
解决了第一个问题。我将每个tr
元素放在单独的tbody
中,并将ng-form
应用于每个tbody
元素。
所以我相信如果我需要验证,我必须使用表格。