2016-10-11 5 views
0

リピータで、データ、入力フィールド、およびスパンタグを各行にいくつか表示します。ユーザーが入力フィールドに数値を入力すると、 私は計算を行い、その結果をspanタグに表示したいと考えています。これは私が正しくモデルを使用していない、おそらくbecuse ...ng-keyupを使用してng-repeatのスパンを更新します

<div ng-repeat="bet in $ctrl.bets"> 
<input class="form-control input-sm" ng-model="$index" type="text" ng-keyup="$ctrl.getReturn($index)"> 
<span>Return: </span><span id="$index" ng-model="$index"></span> 
</div> 

そして、私のコントローラで、私はこの

を持って、私はこれを試してみたが、そのが動作していない ng-keyup

を使用してキー操作で発生します

vm.getReturn = function(index){ 
document.querySelector('#' + index).html(value/2); 
} 

私はその方法を知っていますが、誰かがこれを行う方法を教えてくれますか? Ta。あなただけinputselect &特殊なブートストラップ部品、未span要素でng-modelを使用することができます

答えて

1

第一の事。 ng-bindを使用すると、値を一方向にバインドすることができます。

$indexとは別のものは遊びません& ng-repeatで管理されています。私は、むしろbet(各要素はbets)の内側に新しいプロパティを追加すると言うでしょう。

マークアップ

<div ng-repeat="bet in $ctrl.bets"> 
    <input class="form-control input-sm" ng-model="bet.myValue" type="text" ng-keyup="$ctrl.getReturn(bet.myValue)"> 
    <span>Return: </span><span id="$index" ng-bind="vm.getReturn(bet.myValue)"></span> 
</div> 

したがってgetReturn関数で計算を管理します。

vm.getReturn = function(val) { 
    return (val > 0 ? (val/2): 0); 
} 
+0

伝説。ありがとう。 –

+0

@Josethehoseあなたを助けてうれしい、ありがと;) –

関連する問題