<head>
<script type="text/javascript">
function myFunction(amount)
{
a=200;
b=amount;
c=a+b;
document.getElementById("demo").innerHTML=a;
document.getElementById("demo1").innerHTML=b;
document.getElementById("demo2").innerHTML=c;
}
</script>
</head>
<body>
我有 2 类单选按钮,例如
蛋糕的名称
<input type="radio" id= "c1" name="cake1" value="50.00"
onclick="if(this.value==50.00) { myFunction(50.00); }">
<input type="radio" id= "c2" name="cake2" value="100.00">
-接下来是花
<input type="radio" id= "f1" name="flow1" value="50.00">
<input type="radio" id= "f2" name="flow2" value="100.00">
现在我的基本价格是 200。只要我选择第一个单选按钮 cake1
,价格就会增加到 250(200+50)
接下来,如果我选择值为 100 的花列,价格应增加到 (250+100)=350
。
这应该动态发生。有人可以帮帮我吗。
最佳答案
你的意思是人们应该只选择一种蛋糕还是两种都选择?
我问的原因是因为一旦选择了一个单选按钮,就不能再取消选择它,除非有另一个单选按钮具有相同的 Name 属性。您实际上拥有一个只能由用户“打开”的单选按钮列表。
如果您希望他们只选择几个蛋糕中的一个,请为所有单选按钮指定相同的名称属性,浏览器将只允许选择一个。
如果您希望人们选择加入一个或多个蛋糕,请使用复选框 (<input type="checkbox" etc .. >
),以便他们可以取消勾选。
我认为你最好使用一个通用函数来重新填充整个页面 - 例如下面..
<!DOCTYPE html>
<head>
<script type="text/javascript">
function recalculate() {
var sValues ="";
var fTotal=200; // base value
var inp=document.getElementsByTagName("input")
for (var i=0;i < inp.length; i++)
{
sValues +=inp[i].name+" = " + inp[i].value+"\n"
if (inp[i].checked) {fTotal+=parseInt(inp[i].value)}
}
// not displayed but at this point sValues holds a string of the input names and values. just alert(sValues) to see it
document.getElementById("Total").innerHTML= fTotal;
}
</script>
</head>
<body>
<form name="form1">
cake1 £50 <input type="radio" id= "c1" name="cake" value="50.00" onclick="recalculate()" ><br>
cake 2 £100 <input type="radio" id= "c2" name="cake" value="100.00" onclick="recalculate()"><br>
flower 1 £50 <input type="radio" id= "f1" name="flow" value="50.00" onclick="recalculate()"><br>
flower 2 £50 <input type="radio" id= "f2" name="flow" value="100.00" onclick="recalculate()"><br>
<hr>
Total: £<div id="Total">0</div>
</form>
</body>
</html>
关于javascript - 获取级联单选按钮值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21671046/