2017-05-04 49 views
0

我有一個動態創建其中有一些值(固定值)的行,我想顯示這個值和每行的這個值的總和。 然後我想更新一下這個值,看看那也是我的總和的變化:angularjs基於點擊創建動態div並在行中計算總計

這裏是我的代碼: HTML:

<div id="containerEsterno" class="row m-lg border-bottom"> 
    <button ng-click="vm.add()">New Item</button> 
    <br> 
    <div class="row m-xs" id="containerInterno"> 
     <label>question</label> 
     <label>text</label> 
     <label>checkbox</label> 
     <label>addendo1</label> 
     <label>addendo2</label> 
     <label>risultato</label> 
    </div> 
    <div class="row" id="containerInterno" ng-repeat="item in vm.items"> 
     <input ng-model="item.question" type="text"> 
     <input ng-model="item.text" type="text" > 
     <input ng-model="item.inlineChecked" type="checkbox" > 
     <input ng-model="item.addendo1" type="number" > 
     <input ng-model="item.addendo2" type="number" > 
     <input ng-model="item.risultato" ng-value="item.addendo1+item.addendo2" class="colonnasmall"> 
    </div> 
</div> 

這裏是我的JavaScript:

this.add = function() { 
     vm.items.push({ 
      inlineChecked: false, 
      question: "", 
      text: "", 
      addendo1 : 1, 
      addendo2 : 2, 
      risultato: addendo1+addendo2, 
    }); 
    }; 

但這給我錯誤: ReferenceError:risultato沒有定義.....

我改變,那麼risultato是= 0(JavaScript的),

,我改變了NG-模型

<input ng-model="item.risultato" ng-value="item.addendo1+item.addendo2" class="colonnasmall"> 

<input ng-model="item.risultato=item.addendo1+item.addendo2" class="colonnasmall"> 

它的工作原理,但給了我一個錯誤:

錯誤:ngModel:nonassign 不可分配表達式

任何人都可以幫助我? 非常感謝

回答

0

使用在JS(無需添加默認值):

this.add = function() { 
    vm.items.push({ 
     inlineChecked: false, 
     question: "", 
     text: "", 
     addendo1 : 1, 
     addendo2 : 2 
}); 
}; 

在HTML中,對兩個參數刪除NG-值naduse NG-變化:

<input ng-model="item.addendo1" type="number" ng-change="item.risultato = item.addendo1+item.addendo2" > 
    <input ng-model="item.addendo2" type="number" ng-change="item.risultato = item.addendo1+item.addendo2" > 
    <input ng-model="item.risultato" class="colonnasmall"> 
+0

我天哪,非常感謝你!你在2分鐘內解決了我的問題! –