2012-01-03 21 views
-1

如何通過使用輸入文本字段輸入其中一個數字來計算產品列表的每一行的小計?如何使用onblur和javascript計算小計?

例如:

colA colB   colC 

100 - [text input] = [calculated result] 

880 - [text input] = [calculated result] 

720 - [text input] = [calculated result] 

130 - [text input] = [calculated result] 
... 

我敢肯定,這是很容易做到的JavaScript,但我看,並不能找到一個簡單的答案。我對JavaScript不太熟悉,所以我需要一個簡單的解決方案。在此先感謝您的幫助! :)

+1

那你試試?你遇到什麼具體問題? – Incognito 2012-01-03 20:24:16

回答

1

歡迎來到StackOverflow!在將來,如果你更清楚地寫出你的問題,你可能會更快得到一個好的答案。

您可以使用document.getElementById('id_of_text_input')。值來獲取或設置任何文本輸入的值。請注意,您使用的是id,而不是name

您可以使用parseFloat讀取字符串作爲浮點數值。

爲了將函數附加到onblur事件,可以使用setAttribute函數。

因此,例如,如果您的文本輸入的編號爲colA,並且您希望從用戶輸入的值中減去100,並將結果保存在編號爲colB的文本輸入中。

你可以這樣寫代碼:

<html> 
<head runat="server"> 
    <title></title> 
</head> 
<body>  
    <input type='text' id='colA' /> 
    <input type="text" id='colB' /> 
</body> 
<script type="text/javascript"> 
    var colA = document.getElementById('colA'); 
    var colB = document.getElementById('colB'); 
    colA.setAttribute('onblur', 
    function() { 
     var value = colA.value; 
     var number = parseFloat(value)-100; 
     colB.value = number; 
    }); 
</script> 
</html> 
+0

我會建議你注意我已經傳遞了一個* function *作爲方法setAttribute的一個參數。如果你不熟悉事實,許多現代語言如C++和Java不允許你這樣做。它允許使用被稱爲「函數式編程」的不同編程方法。 – 2012-01-03 21:09:10

0

對我來說非常有用的。謝謝,丹尼爾

如果要計算百分比(5%爲例),並使用jQuery,你必須

$(function(){ 
     $(".input-valorinicial").blur(function(){ 
      var valorinicial = document.getElementById('valorinicial'); 
      var fee = document.getElementById('fee'); 
      var value = valorinicial.value; 
      var number = parseFloat(value)*5/100; 
      fee.value = number; 
     }); 
    });