2017-07-02 34 views
0

我有一個文本框: -如何divde固定輸入的值不同輸入

<label>Total Amount</label> 
    <input type="text" ng-model="totalAmount" disabled="disabled" ng-value="a.one+a.two+a.three+a.four" style="width:150px;height:30px"/> 
The ng-value above is a sum of other four textboxes values. 

之外,還有六個文本框: -

<label>Total Amount</label> 
     <input type="text" ng-model="b.mul1" ng-value="dividedValue(totalAmount,b.val1)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val1" ng-value= "dividedValue(totalAmount,b.mul1)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.mul2" ng-value= "dividedValue(totalAmount,b.val2)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val2" ng-value= "dividedValue(totalAmount,b.mul2)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.mul3" ng-value= "dividedValue(totalAmount,b.val3)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val3" ng-value= "dividedValue(totalAmount,b.mul3)"/> 

我想在這裏做的是保持totalAmount待修復並根據該mulval更改。例如: - totalAmount = mul1*val1, mul1 = totalAmount/val1, val1 = totalAmount/mul1。 如果用戶更改mul1,則val1會更改(totalAmount/val1),反之亦然。

在我的指令代碼: -

scope.dividedValue = function(a,b){ 
     return a/b; 
} 

但此方法返回nothing.Can誰能告訴我的錯誤。

+0

'val1','val2'是來自哪裏? – Aravind

+0

當我在mul1中輸入一些值時,我可以更改val1,但反之亦然,當我同時替換val1和mul1值,然後再次在輸入值中輸入函數正在調用但不會發生分割時,將不會再工作。 –

+0

,因爲你的功能不會被觸發。因爲您不使用雙向數據綁定。你的期望是什麼告訴我。 – Aravind

回答

0

你錯就錯在函數命名它必須是「dividedValue但其divisedValue」

0

您還沒有傳遞正確的價值,ng-modelb.val1b.mul1等等,但你逝去的只是val1mul1的方法呼叫。

<label>Total Amount</label> 
     <input type="text" ng-model="b.mul1" ng-value="dividedValue(totalAmount,b.val1)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val1" ng-value= "dividedValue(totalAmount,b.mul1)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.mul2" ng-value= "dividedValue(totalAmount,b.val2)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val2" ng-value= "dividedValue(totalAmount,b.mul2)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.mul3" ng-value= "dividedValue(totalAmount,b.val3)"/> 
<label>Total Amount</label> 
     <input type="text" ng-model="b.val3" ng-value= "dividedValue(totalAmount,b.mul3)"/> 

如上回答說改變方法名稱有一個錯字

dividedValue(a,b){ 
    return a/b; 

} 
0

你可以試試下面的代碼。

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script> 
 
<body> 
 

 

 

 
<div ng-app="myApp" ng-controller="OnlineShopping"> 
 
<label>Total Amount</label> 
 
    <input type="text" ng-module="a" ng-value="a=dividedValue(6,2)" disabled="disabled" style="width:150px;height:30px"/> 
 
\t {{a}} 
 
</div> 
 
<script> 
 
var app = angular.module('myApp', []); 
 
app.controller("OnlineShopping", function($scope) 
 
{ 
 
    $scope.dividedValue = function(a,b){ 
 
     return a/b; 
 
} 
 
    
 
\t }) 
 
</script> 
 

 
</body> 
 
</html>