Javascript 关于更改计算的jQuery文本框
我几乎没有复选框!每次选中复选框时,它将自动汇总总成本:Javascript 关于更改计算的jQuery文本框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我几乎没有复选框!每次选中复选框时,它将自动汇总总成本: <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> 现在,1个折扣文本输入: <input type="text" id="discount" /> 完
<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>
现在,1个折扣文本输入:
<input type="text" id="discount" />
完整代码:
如果所需的输出为55.00,而用户同时选中了复选框并在文本框中键入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));
}
如果所需的输出为55.00,而用户同时选中了复选框并在文本框中键入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));
}
从onCheck
内部调用calculateSum
,以始终计算折扣
还简化了绑定处理程序的方式,因为这样会产生不必要的开销
演示
从onCheck
内部调用calculateSum
,以始终计算折扣
还简化了绑定处理程序的方式,因为这样会产生不必要的开销
你要找的是的演示吗?是你要找的吗?@Tahir如果你选中了jsfiddle链接,价格扣减就不起作用了你的意思是,“如果用户选中了复选框并在文本框中键入10,那么需要显示55.00”@Tahir如果你选中了jsfiddle链接,价格扣减就不起作用了,你的意思是,“如果用户选择了复选框并在文本框中键入10,则需要显示55.00”?刚刚选中,两者都不是我的。是的,当你“更改”折扣时,我没有考虑,只是当你添加一个:-)刚刚选中,两者都不是我的。是的,当你“更改”折扣时,我没有考虑“仅当您添加一个时,折扣:-)顺便说一句,不要依赖于它的功能正确性。键入折扣、使用退格删除并再次键入将扣除这两个金额。我认为加比的答案更正确。顺便说一句,不要依赖它来判断函数的正确性。键入折扣、使用退格删除并再次键入将扣除这两个金额。我认为加比的答案更正确
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();
});
});
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();
});
});
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));
}
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);