2013-02-16 66 views
0

我有這個代碼不工作。我正在嘗試將兩個文本框相乘並顯示解決方案,但單擊時它不顯示任何內容。我到目前爲止的代碼是這樣的...下面的代碼有什麼問題?jquery乘以2文本框然後顯示解決方案

<script type="text/javascript"> 
    $('#AddProduct').click(function() { 
     var totalPrice = $('#debt').val() * $('#income').val(); 
     $('#solution').val() = totalPrice; 
    }); 
</script> 

<form name="form" method="post" action=""> 
    <table> 
     <tr> 
      <td><input type="text" name="income" id="income" /></td> 
      <td><input type="text" name="debt" id="debt" /></td> 
      <td><input type="text" id="solution" name="solution" /> </td> 
     </tr> 
    </table> 
</form> 

回答

-1

後,您將網頁添加的jQuery如下

<script src="http://code.jquery.com/jquery-latest.js"></script> 

,你可以做到以下幾點:

$('#AddProduct').click(function() { 
var totalPrice = parseInt($('#debt').val(),10) * parseInt($('#income').val(),10); 
$('#solution').val(totalPrice); 
}); 

你必須告訴它你想要的value您輸入的內容。 而且,總是提供第二個參數(基數)到parseInt。它試圖太聰明,如果沒有提供,它會自動檢測,並可能導致意想不到的結果。

提供10假設您需要一個基數爲10的數字。

+0

@Downvoter請解釋一下嗎? – 2013-02-16 20:28:49

4

你jQuery的需要是:

$('#AddProduct').click(function() { 
    var totalPrice = parseInt($('#debt').val()) * parseInt($('#income').val()); // you can't multiply strings 
    $('#solution').val(totalPrice); // This is how you use .val() to set the value. 
}); 
+0

正如我正要寫的。 +1。 – 11684 2013-02-16 19:53:32

0

這是你設置的解決方案文本框的值的方式:

$('#solution').val(totalPrice); 

另外,你真的有一個在您的網頁上添加ID爲「AddProduct」的元素?

+0

我不認爲你可以乘以字符串... – 11684 2013-02-16 19:54:10

+0

Javascript是非常寬容的:http://jsfiddle.net/Qnj4L/ – Andorbal 2013-02-16 20:05:16

+0

是的,我在提交,我只是讓我的代碼更清潔,意外刪除它。 – user1591668 2013-02-16 20:15:19

0
var totalPrice = $('#debt').val() * $('#income').val(); 
$('#solution').val(totalPrice); 

Demo