该产品的基本价格为186。
然后有4种运输方式
如果他们想要一个盒子,还有一个复选框。 盒子(价格+25) nobox(价格保持不变)
我的代码:
var total= 186;
$( "select#shipping" ).change(function() {
var str = "";
var total= 186;
$( "select#shipping option:selected" ).each(function() {
str += $( this ).val() + " ";
});
str = str.substr(1);
total= total+ parseInt(str);
document.getElementById("celkem").innerHTML=celkem;
}).trigger( "change" );
$('#box').change(function(){
var c = this.checked ? 25 : -25;
celkem = $("#total").text();
document.getElementById("total").innerHTML = parseInt(total) + c;
});
我似乎无法得到它的核心更新。现在的问题是,框复选框默认关闭。假设我选择购物#1,然后选中此框。总数是253.但是当我现在选择#2运输时,#box保持检查状态并且不会增加25个。
你能帮帮我吗?
答案 0 :(得分:0)
如果您尝试添加多个送货号码,那么您需要像这样单独解析和求和:
var shippingTotal = 0;
$( "select#shipping option:selected" ).each(function() {
shippingTotal += parseInt($( this ).val(), 10);
});
而不是仅将所有字符串添加到一起,然后尝试一次解析所有字符串。然后,您可以将该送货号码添加到任何其他号码以获得总数。
看起来你的总数也有问题因为你似乎没有重新启动它,但是每次调用.change()
时你都会添加更多,这可能不是你想要的它会上升和上升。你没有显示你的HTML,所以我们很难确切知道你应该在那里做什么,但目前的算法看起来有问题。