基本上,下面的代码根据选中的复选框/单选按钮在id="total" span中创建一个订单总数。总数由复选框/单选按钮的值改变,但我想知道是否有任何其他方法来改变总数而不使用输入值,因为它需要在表单的下一部分。也许是另一个输入属性?我只是不知道该怎么做。
所有的帮助将非常感激,谢谢!
<form action="cart.php" method="post" name="builder">
<input checked="checked" type="radio" name="term" value="12" onclick='check_value(this, 1)' />
<input type="radio" name="term" value="24" onclick='check_value(this, 2)' />
<input type="radio" name="term" value="36" onclick='check_value(this, 3)' />
<input type="checkbox" name="cid[]" value="2" onclick='check_value(this, "")' />
<input type="checkbox" name="cid[]" value="3" onclick='check_value(this, "")' />
<input type="checkbox" name="cid[]" value="4" onclick='check_value(this, "")' />
Total Order: $<span id="total">36</span>
</form>
function check_value(curElem, id) {
// calculate Total
var total = 0;
var controls = document.getElementsByTagName('input');
for (var i = 0; i < controls.length; i++) {
if ((controls[i].type === 'radio' || controls[i].type === 'checkbox') && controls[i].checked) {
total = total + parseFloat(controls[i].value);
}
}
document.getElementById("total").innerHTML = total;
//alert("Total: " + total);
}
如果你真的想使用其他属性,使用它
使用您选择的属性,例如nval
,并以controls[i].getAttribute("nval")
访问它
,
您可以在页面中创建大量的hidden input fields
,用于每个复选框来保存您的值。并使用这些隐藏字段来计算total