2014-10-20 28 views
0

如何顯示ID =「grand」中所有id =「total」的總值。這是我的整個代碼。只應使用HTML和Javascript。我不知道如何增加每個的值。當用戶選中複選框時,javascript會被執行。該複選框的值將乘以下拉值的值。那麼產品將顯示在輸入id =「total」中。我想在輸入ID總結所有的價值=總並且在輸入ID顯示它=「盛大」如何顯示多個文本字段的總值?

<p><center><font size="5">Total Amount: <input type="text" id="grand" name="grand" value="P0.00"></input></p> 
<table border=1> 
<tr> 
<td colspan=3><h2>Specialty Cakes</h2></td> 
</tr> 
<tr> 
<td><center><img src=special\blackforest_small.jpg ><br>Black Forest</td> 
<td><input type="checkbox" id="check1" name="check1" value="550.00"onclick="special1()">Buy P550.00</input><br><input type="text" id="total1" name="total1" value="P0.00"size="8"></input><br> 
QTY: <select id="qty1" name="qty1" onchange="special1()"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
</select> 
</td> 
</tr> 
<tr> 
<td><center><img src=special\chocolata_small.jpg><br>Chocolata</center></td> 
<td><input type="checkbox" id="check2" name="check2" value="550.00"onclick="special2()">Buy P500.00</input><br><input type="text" id="total2" name="total2" value="P0.00"size="8"></input><br> 
QTY: <select id="qty2" name="qty2" onchange="special2()"> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
<option value="6">6</option> 
<option value="7">7</option> 
<option value="8">8</option> 
<option value="9">9</option> 
</select> 
</td> 
</tr> 
</table> 
<script> 
function special1(){ 
var m = document.getElementById("check1").checked; 
var x = document.getElementById("check1").value; 
var y = document.getElementById("qty1").value; 
var z = 0; 
if (m == true){ 
z = "P" + x * y; 
} 
document.getElementById("total1").value = z; 
} 
function special2(){ 
var m = document.getElementById("check2").checked; 
var x = document.getElementById("check2").value; 
var y = document.getElementById("qty2").value; 
var z = 0; 
if (m == true){ 
z = "P" + x * y; 
} 
document.getElementById("total2").value = z; 
} 
</script> 

回答

0

在JS +從左到右的作品。但是將字符串添加到其他字符串中會產生另一個字符串,因此您需要注意操作的順序。

z = "P" + (x * y); 
+0

我編輯的主要問題要好好理解。請看一下 – Crazy1923 2014-10-20 10:36:07

1

您需要括號添加到您的計算:

z = "P" + (x * y); 
     ^ ^

在這種情況下,你功能將按預期工作。你現在擁有的是串聯。

似乎你需要將該數字轉換爲浮點數,使用parseFloat函數。並刪除第一個字符,如果它總是使用Psubstr方法

所以,最終的結果應該是開始:

z = "P" + (parseFloat(x.substr(1)) * parseFloat(y.substr(1))).toFixed(2); 

toFixed將格式化浮點數到小數點後總有2個數字。

+0

我編輯的主要問題有待理解。請看看 – Crazy1923 2014-10-20 10:35:42

相關問題