我想在selectbox值之间进行计算。我的代码的问题是计算的第一部分只给我0
,主板值数量。第二部分工作正常,机箱数量。我的公式是motherbord*Quanity+chassis*quantity
。
这是我的代码:
function calculate() {
var parsedMotherboard = parseFloat(document.calcform.Motherboard.value || 0);
var parsedQuantity = parseFloat(document.calcform.Quantity.value || 0);
var parsedChassis = parseFloat(document.calcform.Chassis.value || 0);
var parsedQuantity1 = parseFloat(document.calcform.Quantity1.value || 0);
document.calcform.total.value = (parsedMotherboard * parsedQuantity + parsedChassis * parsedQuantity1);
}
答案 0 :(得分:0)
如果您更整洁地格式化代码会有所帮助:
function calculate() {
var parsedMotherboard = parseFloat(document.calcform.Motherboard.value || 0);
var parsedQuantity = parseFloat(document.calcform.Quantity.value || 0);
var parsedChassis = parseFloat(document.calcform.Chassis.value || 0);
var parsedQuantity1 = parseFloat(document.calcform.Quantity1.value || 0);
document.calcform.total.value = (parsedMotherboard * parsedQuantity +
parsedChassis * parsedQuantity1);
}
您是否检查过您从表单中获取了正确的值?确保默认选项(我假设第一个值为0)具有所选属性集,以便始终选择一个选项。
其他一些提示:
以下是更新版本:
function calculate() {
var form = document.calcform;
var mb = +form.Motherboard.value;
var mbQty = +form.Quantity.value;
var ch = form.Chassis.value;
var chQty = form.Quantity1.value;
form.total.value = mb*mbQty + ch*chQty;
}
因为每个字符串值都涉及乘法,所以不需要显式转换为数字,这将是乘法的结果,所以你可以写:
function calculate() {
var form = document.calcform;
form.total.value = form.Motherboard.value * form.Quantity.value +
form.Chassis.value * form.Quantity1.value;
}
答案 1 :(得分:0)
用jQuery做...
$('#selectbox1').change(function() {
// do ajax if you want or store
var x = $('#selectbox1').attr('value'); // or you can use this.value
// and so on
});
并总结其他选择框