2016-10-11 66 views
0

在中繼器中,我在每行中顯示一些包含一些數據,輸入字段和span標籤的記錄。當用戶在輸入字段中輸入數值時,我想對其進行計算並在span標記中顯示結果。這將使用ng-keyup使用ng-keyup更新ng-repeat中的範圍

我已經試過,但它不工作,可能becuse我沒有正確使用模型...

<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> 

而且在我的控制器我有這個

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

我知道它的方式,但有人可以告訴我如何做到這一點?助教。

回答

1

1日的事情,你可以使用ng-model只有inputselect &特殊的啓動部件,不span元素。您可以使用ng-bind做一個綁定值的方法。

其他的事情是不要玩$index這是添加&管理ng-repeat指令本身。我寧願在betbets的每個元素)內添加新的屬性。

標記

<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很高興幫助你,謝謝;) –