gpt4 book ai didi

javascript - 如何显示多个文本字段的总值?

转载 作者:行者123 更新时间:2023-12-03 11:36:47 25 4
gpt4 key购买 nike

如何显示 id="grand"中所有 id="total"的总值(value)。这是我的全部代码。仅应使用 HTML 和 Javascript。我不知道如何增加每个的值(value)。当用户选中复选框时,将执行 JavaScript。复选框的值将乘以下拉值的值。那么产品将显示在输入 id="total"中。我想对输入 id=total 中的所有值求和并将其显示在输入 id="grand"

<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>

最佳答案

您需要在计算中添加括号:

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

在这种情况下,您的函数将按预期工作。您现在拥有的是串联。

似乎您需要使用 parseFloat 将这些数字转换为 float 功能。如果第一个字符始终以 P 开头,则使用 substr 删除它。方法

所以最终结果应该是:

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

toFixed将格式化您的 float ,使其在点后始终有 2 个数字。

关于javascript - 如何显示多个文本字段的总值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26463100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com