jquery在循环中添加到变量
我试图添加到一个变量中,并在循环结束时获取总价,然后将其添加到span标记中的一个值中,并对其进行更新。我不确定如何使用jquery,我通常使用php。这是我尝试过的,但我一无所获jquery在循环中添加到变量,jquery,variables,Jquery,Variables,我试图添加到一个变量中,并在循环结束时获取总价,然后将其添加到span标记中的一个值中,并对其进行更新。我不确定如何使用jquery,我通常使用php。这是我尝试过的,但我一无所获 $.each(data, function(key, obj) { items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>'); totalprice += obj.price }
$.each(data, function(key, obj) {
items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>');
totalprice += obj.price
});
$("#addonPrice").html($("#addonPrice").text() + totalprice);
$。每个(数据、功能(键、obj){
项目推送(““+obj.title+”€“+obj.price+” ”);
总价格+=目标价格
});
$(“#addonPrice”).html($(“#addonPrice”).text()+totalprice);
您需要在循环之前实例化totalprice
,因为totalprice将不再存在于$的上下文中。每个 尝试以下操作:
var totalprice = 0;
$.each(data, function(key, obj){
items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>');
totalprice = totalprice + parseFloat(obj.price);
});
$('#addonPrice').html(parseFloat($('#addonPrice').text()) + totalprice);
var totalprice=0;
$。每个(数据、功能(键、obj){
项目推送(““+obj.title+”€“+obj.price+” ”);
totalprice=totalprice+parseFloat(目标价格);
});
$('#addonPrice').html(parseFloat($('#addonPrice').text())+totalprice);
您需要初始化总价,并将价格/附加价格转换为浮点数,以将其作为数字使用
我希望这会有所帮助。您应该在循环之前将totalprice
初始化为零,并在添加它之前将parseFloat()
应用到obj.price
:
var totalprice = 0;
$.each(data, function(key, obj) {
items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>');
totalprice += parseFloat(obj.price);
});
$("#addonPrice").html(parseFloat($("#addonPrice").text()) + totalprice);
var totalprice=0;
$。每个(数据、功能(键、obj){
项目推送(““+obj.title+”€“+obj.price+” ”);
总价格+=浮动价格(目标价格);
});
$(“#addonPrice”).html(parseFloat($(“#addonPrice”).text())+totalprice);
关于这一点有几点。首先,您没有显示初始化totalprice
变量的位置和方式。通常,这应该在循环之外完成。其次,根据obj.price
的类型,您使用的+=
运算符可能会执行字符串连接而不是数字相加。另外,.text
函数返回一个字符串,因此在循环结束时执行加法时需要将其转换为数字:
var totalprice = 0;
$.each(data, function(key, obj) {
items.push('<li id="' + obj.id + '">' + obj.title + '€' + obj.price + '</li>');
totalprice += Number(obj.price);
});
$("#addonPrice").html(parseFloat($("#addonPrice").text()) + totalprice);
var totalprice=0;
$。每个(数据、功能(键、obj){
项目推送(““+obj.title+”€“+obj.price+” ”);
总价+=数量(目标价格);
});
$(“#addonPrice”).html(parseFloat($(“#addonPrice”).text())+totalprice);
试试这个:
totalprice += parseInt(obj.price);
在调用each()之前是否添加了“var totalprice=0;”?还有,obj.price是一个字符串还是一个数字?你能给我们看一个数据对象的示例吗?