我的复选框很少!每次选中复选框时,它都会自动总结总费用:
<input type="checkbox" rel="90" alt="30.00">Pearl or White
<input type="checkbox" rel="120" alt="35.00">Natural
<div id="t_balance"></div>
计算总价格的jquery
function onCheck(){
var t_balance = 0;
$("input[type=checkbox]:checked").each(function() {
t_balance += parseFloat($(this).attr("alt")); });
$("#t_balance").html(t_balance.toFixed(2));
}
function calculateSum() {
var sum = 0;
$(":text").each(function() {
if(!isNaN(this.value) && this.value.length!=0) {
sum += parseFloat(this.value);
}
});
$("#t_balance").html(sum.toFixed(2));
}
$("input[type=checkbox]").change(function() {onCheck(); });
现在,1折扣textinput:
<input type="text" id="discount" />
我希望总价格从折扣textinput中扣除价格。以上代码基本上将取代总价格,从复选框到textinput。
$(":text").each(function() {
$(this).keyup(function(){
calculateSum();
});
});
完整代码http://jsfiddle.net/boyee007/jZEUz/:
function onCheck() {
var t_balance = 0;
$("input[type=checkbox]:checked").each(function() {
t_balance += parseFloat($(this).attr("alt"));
});
$("#t_balance").html(t_balance.toFixed(2));
}
function calculateSum() {
var sum = 0;
$(":text").each(function() {
if (!isNaN(this.value) && this.value.length != 0) {
sum += parseFloat(this.value);
}
});
$("#t_balance").html(sum.toFixed(2));
}
$("input[type=checkbox]").change(function() {
onCheck();
});
$(":text").each(function() {
$(this).keyup(function() {
calculateSum();
});
});
答案 0 :(得分:2)
function onCheck() {
var t_balance = 0;
$("input[type=checkbox]:checked").each(function() {
t_balance += parseFloat($(this).attr("alt"));
});
$("#t_balance").html(t_balance.toFixed(2));
}
function calculateSum() {
var sum = 0;
$(":text").each(function() {
if (!isNaN(this.value) && this.value.length != 0) {
sum += parseFloat(this.value);
}
});
$("#t_balance").html(parseFloat($("#t_balance").text())-sum.toFixed(2));
}
$("input[type=checkbox]").change(function() {
onCheck();
});
$(":text").each(function() {
$(this).keyup(function() {
calculateSum();
});
});
答案 1 :(得分:2)
function onCheck() {
var t_balance = 0;
$("input[type=checkbox]:checked").each(function() {
t_balance += parseFloat($(this).attr("alt"));
});
$("#t_balance").html(t_balance.toFixed(2));
calculateSum();
}
function calculateSum() {
var sum = parseFloat( $("#t_balance").text() );
$(":text").each(function() {
if (!isNaN(this.value) && this.value.length != 0) {
sum -= parseFloat(this.value);
}
});
$("#t_balance").html(sum.toFixed(2));
}
$("input[type=checkbox]").change(onCheck);
$(":text").keyup(onCheck);
从calculateSum
内拨打onCheck
,以便始终计算折扣。
还简化了绑定处理程序的方式,因为您创建了不必要的开销..
答案 2 :(得分:0)
如果您想要的输出是55.00,而用户同时选中了两个复选框和&amp;在文本框中键入10,然后像这样更改您的calculateSum函数,
function calculateSum() {
var sum = 0;
$(":text").each(function() {
if (!isNaN(this.value) && this.value.length != 0) {
sum += parseFloat(this.value);
}
});
$("#t_balance").html(($("#t_balance").html()-sum).toFixed(2));
}
答案 3 :(得分:0)
http://jsfiddle.net/8W92S/您要找的是什么?