Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何显示多个文本字段的总值?_Javascript_Html - Fatal编程技术网

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

Javascript 如何显示多个文本字段的总值?,javascript,html,Javascript,Html,如何在id=“grand”中显示所有id=“total”的总值。这是我的全部密码。只能使用HTML和Javascript。我不知道如何增加每一个的价值。当用户选中复选框时,将执行javascript。复选框的值将乘以下拉列表的值。然后,产品将显示在输入id=“总计”中。我希望将输入id=total中的所有值相加,并将其显示在输入id=“grand”中 总金额: 特色蛋糕 黑森林 购买P550.00 数量: 1. 2. 3. 4. 5. 6. 7. 8. 9 巧克力 购买P500.00 数量: 1

如何在id=“grand”中显示所有id=“total”的总值。这是我的全部密码。只能使用HTML和Javascript。我不知道如何增加每一个的价值。当用户选中复选框时,将执行javascript。复选框的值将乘以下拉列表的值。然后,产品将显示在输入id=“总计”中。我希望将输入id=total中的所有值相加,并将其显示在输入id=“grand”中

总金额:

特色蛋糕
黑森林 购买P550.00

数量: 1. 2. 3. 4. 5. 6. 7. 8. 9
巧克力 购买P500.00

数量: 1. 2. 3. 4. 5. 6. 7. 8. 9 函数1(){ var m=document.getElementById(“check1”).checked; var x=document.getElementById(“check1”).value; 变量y=document.getElementById(“qty1”).value; var z=0; 如果(m==true){ z=“P”+x*y; } document.getElementById(“total1”).value=z; } 函数2(){ var m=document.getElementById(“check2”).checked; var x=document.getElementById(“check2”).value; var y=document.getElementById(“qty2”).value; var z=0; 如果(m==true){ z=“P”+x*y; } document.getElementById(“total2”).value=z; }
您需要在计算中添加括号:

z = "P" + ( x * y );
          ^       ^
在这种情况下,您的函数将按预期工作。您现在拥有的是连接

似乎需要使用函数将这些数字转换为浮点数。如果第一个字符总是以
P
开头,则使用方法删除第一个字符

因此,最终结果应该是:

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

将设置浮点数的格式,使其始终在点后有两个数字。

在JS+中,从左到右使用。但将字符串添加到enything中会产生另一个字符串,所以您需要注意操作的顺序

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

我编辑了主要问题,以便更好地理解。请看一看我编辑了主要的问题以便更好地理解。请看一看
z = "P" + (x * y);