我需要计算 var packprice
+ var packprices
+ var ala
哪个进入 for 循环。我在控制台中获取了所有值,但在 tprice 中没有获取加法。请帮忙。
$( "#get_total" ).click(function() {
alert('calculation pending');
var idSelector = function() { return this.value; };
var packprices = 0;
var packprice = 0;
var c = $(":checkbox:checked").map(idSelector).get();
for (var i = 0; i < c.length; i++) {
// console.log(c[i]);
// console.log(parseInt($(".longduration_price" + c[i]).val()));
if($(".duration_status" + c[i]).is(':checked'))
{
var packprice = !isNaN(parseInt($(".longduration_price" + c[i]).val())) ? parseInt($(".longduration_price" + c[i]).val()) : 0 ;
console.log(packprice);
}else{
var packprices = !isNaN(parseInt($(".packpriceone" + c[i]).val())) ? parseInt($(".packpriceone" + c[i]).val()) : 0 ;
console.log(packprices);
}
var ala = parseInt($("#alacartprice").val());
var tprice = packprice + packprices + ala;
}
console.log(tprice);
$("#totalprice").val(tprice);
});
最佳答案
您需要在循环外部声明 tprice
并将结果添加到 tprice
中,如下所示。
$( "#get_total" ).click(function() {
alert('calculation pending');
var idSelector = function() { return this.value; };
var packprices = 0;
var packprice = 0;
var c = $(":checkbox:checked").map(idSelector).get();
var tprice = 0;
for (var i = 0; i < c.length; i++) {
// console.log(c[i]);
// console.log(parseInt($(".longduration_price" + c[i]).val()));
if($(".duration_status" + c[i]).is(':checked'))
{
var packprice = !isNaN(parseInt($(".longduration_price" + c[i]).val())) ? parseInt($(".longduration_price" + c[i]).val()) : 0 ;
console.log(packprice);
}else{
var packprices = !isNaN(parseInt($(".packpriceone" + c[i]).val())) ? parseInt($(".packpriceone" + c[i]).val()) : 0 ;
console.log(packprices);
}
var ala = parseInt($("#alacartprice").val());
tprice += packprice + packprices + ala;
}
console.log(tprice);
$("#totalprice").val(tprice);
});
关于javascript - 计算值未进入for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002709/