我有一个存储在具有data-price
属性的div中的元素。一旦被选中,我想parseFloat()
它的价值。我使用以下脚本实现了这一点:
var sum = parseFloat( $(".select").data('price'));
$('#sum').html(sum);
但是,一旦提取了价格,在点击不同的元素而不是出现在它旁边时,它将被替换为另一个价格。存储所有选定元素价格的最佳方法是什么?我正在考虑将值存储在一个数组中,以便我可以使用for循环来计算总数,但我不知道如何实现它。此外,也许有更有效的方法。
答案 0 :(得分:0)
你可以这样做
var sum = 0
$(".select").each(function(selected) {
sum += $($('.select')[selected]).data('price')
})
$('#sum').html(sum);
这是有效的,因为$()返回一个元素搜索的数组,而.each返回它所来到的元素的索引,因此$($('.select')[selected])
首先获取所有带有select的类,然后选择索引并使其成为一个jQuery对象,所以我们可以使用.data并获得价格。
为了保持更新,你可以
$('.elements').click(function() {
// add all the code above here
})