2016-03-07 154 views
2

我想改变另一个输入ng-model值为ng-model的输入值。它不这样做。 ng-model="quantity"ng-repeatng-model="power"之外是ng-repeat。所以当我改变power的值时,所有的quantity都应该相应地改变。用另一个输入模态改变ng模态输入值

e.g

<input type="text" ng-model="quantity" value="{{quantity * power}}"> 
<input type="text" ng-model="power" value="{{power}}"> 
+2

您可以包括所有的代码? 'ng-repeat'以及控制器将是理想的...基于你展示的内容我不能完全告诉你想要做什么。 – Lansana

+1

请给你ng-repeat代码。 –

+0

演示代码在这里下面 – Khalil

回答

0

尝试。

angular.module('myApp', []).controller('mainCtrl', function ($scope) { 
 
     $scope.quantities = [25, 6, 6.5, 80]; 
 
     $scope.quantitiesNewValue = [25, 6, 6.5, 80]; 
 
     $scope.power = 1; 
 
    
 
    $scope.setValue = function(power){ 
 
     angular.forEach($scope.quantities, function(quantity,i){ 
 
     $scope.quantitiesNewValue[i] = power * quantity; 
 
     }); 
 
    } 
 
        
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp" ng-controller="mainCtrl"> 
 
<h1>NG-MODEL Sample</h1> 
 
<p><input type="text" ng-model="power" ng-change="setValue(power)" value="{{power}}" /></p> 
 
<div ng-repeat="quantity in quantitiesNewValue"> 
 
Quantity: <input type="text" ng-model="quantity" /> 
 
</div>

+0

我试过这个,并带来另一个问题,它永久设置原始数组的值,所以当我想乘以另一个数字时,它会进一步乘法而不是重新乘原始数组。 – Khalil

+0

你能重复数组吗? –

0

您在HTML中两个错误。

1)在第一个输入字段你有power你应该在NG-模式,这里有错字以及NG-模式将被NG-模型

ng-model="power"而不是ng-mode="p给电源此处输入代码ower"

2)在NG-重复块中的ng-model应该是表达式(quantity*power)不仅数量

ng-model="quantity*power"代替ng-model="quantity"

Live Demo

你的HTML将

<h1>NG-MODEL Sample</h1> 
<p><input type="text" ng-model="power" value="{{power}}" /></p> 
<div ng-repeat="quantity in quantities"> 
    Quantity: <input type="text" ng-model="quantity*power" value="{{quantity *   power}}"/> 
</div> 
+0

感谢它为我完美的工作,我想要的。是的,我发布了这个问题的错误。但我转发了我的想法,并且很好地解决了它。 – Khalil

+0

不客气 – Adil