2017-05-04 70 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分钟内解决了我的问题! –