根据ng-repeat内的条件添加模型值

时间:2017-10-23 05:45:39

标签: javascript angularjs

绑定具有(属性)

的对象MyLanguageSkills
Writing  - number
Speaking  - number
Name  - text

对象绑定到UI,如下所示

<tr ng-repeat="myLanguageSkill in MyLanguageSkills">
 <td>
  <input name="Writing"  type="number" ng-model="myLanguageSkill.Writing">
</td> 
 <td>
  <input name="Speaking"  type="number" ng-model="myLanguageSkill.Speaking">
</td> 
<td>
   <input name="CandidateName"  type="text" ng-model="myLanguageSkill.CandidateName">
</td>
</tr>

如果有人在第一个“写入”输入文本框中键入超过10个,则其余10个以上应添加到“Speaking”输入文本框中,并且Speaking本身不应接受超过10个。

例如:

Writing 11
Speaking 2

Then 

Writing 10
Speaking 3

我不确定如何在上述场景中进行ng-change,因为这会处理重复循环中的模型?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用ng-change之类的内容

<input type="number" ng-model="item.w" ng-change="checkW(item)" ng-model-options="{debounce: 200 }"/>

$scope.checkW=function(data){
if(data.w>10){
var diff=data.w-10;
data.w=10;
if((data.s+diff)>10)
data.s=10;
else
data.s+=diff;
}
}

Working demo