jquery json return 两个数相加的数据
jquery json return data adding two numbers
我正在使用 Jquery post 方法从 php 文件中获取数据,该文件返回一个多维数组,其中包含 productid、名称和价格,格式如下
[
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
]
当我将它们相加时,这两个价格并没有加在一起,而是将它们连接起来。
这就是我尝试将它们加起来的方式
$.each(data, function(i, result) {
//total = total + +result.price;
//total += +result.price;
//total += result.price;
//total += +total + +result.price;
//total = total * 1 + result.price;
});
$("#cart_total").empty();
$("#cart_total").append(output);
知道我应该怎么做才能做到这一点吗
此致
试试这个:
total = Number(total) + Number(total.price);
发生连接是因为 total
必须是一个字符串,即使它 "contains" 是一个数字。换句话说:
'1' === 1
表示 javascript 中的 false
。
我们正在做的是将 total
字符串强制转换为数字:
Number('1') === 1
(true
)
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
添加
var sum = 0;
data.forEach(function(i){
sum += +i.price;
});
$("#cart_total").empty();
$("#cart_total").append(sum);
You have to initialize total
variable before loop started and you can perform your task.
total = 0;
$.each(data, function(i, result) {
total = total + result.price;
});
alert(total);
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
然后计算总和:
var total = 0;
$(data).each(function(index,item) {
total += item.price;
});
total = parseFloat(total.toFixed(2))
显示:
$("#result").html(total);
这里的工作示例:http://jsfiddle.net/9jpdLkp2/
用户 parseInt 函数:
sum=parseInt(price)+parseInt(price);
首先初始化总计:总计= 0;
然后:
total += parseFloat(result.price);
试试这个!
试试这个...
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
var sum = 0;
data.forEach(function(i){
sum =sum + +i.price;
});
alert(sum);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
试试这个
var total = 0;
$(data).each(function(index,item) {
total += item.price;
});
total = parseFloat(total.toFixed(2));
toFixed(2)
是限制小数点后两位数
希望对您有所帮助
我正在使用 Jquery post 方法从 php 文件中获取数据,该文件返回一个多维数组,其中包含 productid、名称和价格,格式如下
[
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
]
当我将它们相加时,这两个价格并没有加在一起,而是将它们连接起来。 这就是我尝试将它们加起来的方式
$.each(data, function(i, result) {
//total = total + +result.price;
//total += +result.price;
//total += result.price;
//total += +total + +result.price;
//total = total * 1 + result.price;
});
$("#cart_total").empty();
$("#cart_total").append(output);
知道我应该怎么做才能做到这一点吗
此致
试试这个:
total = Number(total) + Number(total.price);
发生连接是因为 total
必须是一个字符串,即使它 "contains" 是一个数字。换句话说:
'1' === 1
表示 javascript 中的 false
。
我们正在做的是将 total
字符串强制转换为数字:
Number('1') === 1
(true
)
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
添加
var sum = 0;
data.forEach(function(i){
sum += +i.price;
});
$("#cart_total").empty();
$("#cart_total").append(sum);
You have to initialize
total
variable before loop started and you can perform your task.
total = 0;
$.each(data, function(i, result) {
total = total + result.price;
});
alert(total);
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
然后计算总和:
var total = 0;
$(data).each(function(index,item) {
total += item.price;
});
total = parseFloat(total.toFixed(2))
显示:
$("#result").html(total);
这里的工作示例:http://jsfiddle.net/9jpdLkp2/
用户 parseInt 函数:
sum=parseInt(price)+parseInt(price);
首先初始化总计:总计= 0; 然后:
total += parseFloat(result.price);
试试这个!
试试这个...
var data = [
{ product_id: 34, product_name: "Coca-Cola", price: 0.7 },
{ product_id: 24, product_name: "Shredded Beef Steak Wrap", price: 2.99 }
];
var sum = 0;
data.forEach(function(i){
sum =sum + +i.price;
});
alert(sum);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
试试这个
var total = 0;
$(data).each(function(index,item) {
total += item.price;
});
total = parseFloat(total.toFixed(2));
toFixed(2)
是限制小数点后两位数
希望对您有所帮助