gpt4 book ai didi

javascript - 使用javascript计算组合框中的所有值

转载 作者:行者123 更新时间:2023-11-29 14:53:53 26 4
gpt4 key购买 nike

我有一个程序需要使用 javascript 计算在组合框中选择的所有总数到文本框..我的问题是它不起作用它不会总计..我需要你们的帮助......我还在学习。

<form method="post" action="index.php" name="frm" id="frm" >
<input type="text" name="name" id="query" />
<select name="optA">
<option></option>
<option onclick="optTotal()" value="1">1</option>
<option onclick="optTotal()" value="2">2</option>
<option onclick="optTotal()" value="3">3</option>
</select>
|
<select name="optB">
<option></option>
<option onclick="optTotal()" value="1">1</option>
<option onclick="optTotal()" value="2">2</option>
<option onclick="optTotal()" value="3">3</option>
</select>
|
<select name="optC">
<option></option>
<option onclick="optTotal()" value="1">1</option>
<option onclick="optTotal()" value="2">2</option>
<option onclick="optTotal()" value="3">3</option>
</select>
|
<select name="optD">
<option></option>
<option onclick="optTotal()" value="1">1</option>
<option onclick="optTotal()" value="2">2</option>
<option onclick="optTotal()" value="3">3</option>
</select>
<input type="text" name="total" id="total" onKeyUp="optTotal()" />
<input type="submit" value="Test" name="calculate" id="press" />
</form>

这是我的javascript代码:

<script>
function optTotal()
{
var a1 = document.querySelector('input[name="optA"]:selected');
var b1 = document.querySelector('input[name="optB"]:selected');
var c1 = document.querySelector('input[name="optC"]:selected');
var d1 = document.querySelector('input[name="optD"]:selected');
if (a1 != null)
a1 = parseFloat(a1.value);
else
a1 = 0;
if (b1 != null)
b1 = parseFloat(b1.value);
else
b1 = 0;
if (c1 != null)
c1 = parseFloat(c1.value);
else
c1 = 0;
if (d1 != null)
d1 = parseFloat(d1.value);
else
d1 = 0;

document.frm.total.value=parseFloat(a1)+parseFloat(b1)+parseFloat(c1)+parseFloat(d1);
}
</script>

我的代码有什么问题?有人吗?

最佳答案

你应该使用正确的值检查这里是一个工作代码。这是一个演示 http://jsbin.com/uriFida/2/edit

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<form method="post" action="index.php" name="frm" id="frm" >
<input type="text" name="name" id="query" />
<select name="optA" onchange="optTotal()">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
|
<select name="optB" onchange="optTotal()">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
|
<select name="optC" onchange="optTotal()">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
|
<select name="optD" onchange="optTotal()">
<option></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<input type="text" name="total" id="total" onKeyUp="optTotal()" />
<input type="submit" value="Test" name="calculate" id="press" />
</form>
</body>
</html>

Javascript

function optTotal()
{
var a1 = document.querySelector('select[name="optA"]');
var b1 = document.querySelector('select[name="optB"]');
var c1 = document.querySelector('select[name="optC"]');
var d1 = document.querySelector('select[name="optD"]');

if (a1.value && a1.value != "")
a1 = parseFloat(a1.value);
else
a1 = 0;

if (b1.value && b1.value != "")
b1 = parseFloat(b1.value);
else
b1 = 0;

if (c1.value && c1.value != "")
c1 = parseFloat(c1.value);
else
c1 = 0;

if (d1.value && d1.value != "")
d1 = parseFloat(d1.value);
else
d1 = 0;

document.getElementById("total").value = parseFloat(a1)+parseFloat(b1)+parseFloat(c1)+parseFloat(d1);

}

关于javascript - 使用javascript计算组合框中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21202222/

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