来自具有相同 class 名称的段落的输入或字符串的值总和始终显示“0”
sum of values from inputs or strings from paragraphs with same class names always shows '0'
我有一个简单的购物车 div,其中有 ul 个选择的产品列表。我想显示所有产品的价格总和,但无法计算出来(li 是动态创建的,可以从购物车中删除,因此总和也应该动态工作)。
ul 的结构如下所示:
<ul id='koszyk'>
<li>
<input type='hidden' class='price' value='20'>
<p class='p_price'>20 zł</p>
<...>
</li>
</ul>
我尝试使用此 Sum of values from different divs with the same class 按段落字符串求和,但控制台输出始终显示 '0':
var sum = 0;
$('.p_price').each(function(){
sum += parseFloat($(this).text());
});
console.log(sum);
脚本在 ul 中。我也试过这个,但结果相同:
var sum = 0;
$('.price').each(function(){
sum += parseFloat($(this).valueOf());
});
console.log(sum);
我也试过用数组来存储所有价格,但我不擅长用数组操作。
这可能是一些简单的错误,因为我还是初学者,所以我也更喜欢尽可能简单的解决方案。
使用val()
方法代替valueOf()
获取输入元素的value
。
var sum = 0;
$('.price').each(function(){
sum += parseFloat($(this).val());
});
console.log(sum);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id='koszyk'>
<li>
<input type='hidden' class='price' value='20'>
<p class='p_price'>20 zł</p>
<...>
</li>
</ul>
我有一个简单的购物车 div,其中有 ul 个选择的产品列表。我想显示所有产品的价格总和,但无法计算出来(li 是动态创建的,可以从购物车中删除,因此总和也应该动态工作)。
ul 的结构如下所示:
<ul id='koszyk'>
<li>
<input type='hidden' class='price' value='20'>
<p class='p_price'>20 zł</p>
<...>
</li>
</ul>
我尝试使用此 Sum of values from different divs with the same class 按段落字符串求和,但控制台输出始终显示 '0':
var sum = 0;
$('.p_price').each(function(){
sum += parseFloat($(this).text());
});
console.log(sum);
脚本在 ul 中。我也试过这个,但结果相同:
var sum = 0;
$('.price').each(function(){
sum += parseFloat($(this).valueOf());
});
console.log(sum);
我也试过用数组来存储所有价格,但我不擅长用数组操作。 这可能是一些简单的错误,因为我还是初学者,所以我也更喜欢尽可能简单的解决方案。
使用val()
方法代替valueOf()
获取输入元素的value
。
var sum = 0;
$('.price').each(function(){
sum += parseFloat($(this).val());
});
console.log(sum);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id='koszyk'>
<li>
<input type='hidden' class='price' value='20'>
<p class='p_price'>20 zł</p>
<...>
</li>
</ul>