我正在尝试计算商品的总价格数量,但它并未合并所有已点击的商品。它只显示一个项目的当前价格。你能帮助我吗?我被困在这里,谢谢!
<div class="tab-content clearfix">
<% for(var i=0; i<categories.length; i++){ %>
<div class="tab-pane <% if(i==0){ %> active <% } %>" id="<%= categories[i].id %>a">
<% for(var j=0; j<items.length; j++){ %>
<% if(items[j].category_id == categories[i].id){ %>
<div class="item col-xs-4 col-lg-4">
<div class="thumbnail">
<img class="group list-group-image items_img" src="/pic_items/<%= items[j].picture_path %>" data-title='/anime_items/<%= items[j].anime_path %>' data-target='<%= items[j].price %>' alt="Test" />
<div class="caption">
<h4 class="group inner list-group-item-heading">
<%= items[j].title %>
</h4>
<p class="group inner list-group-item-text"> <%= items[j].description %> </p>
<div class="row">
<div class="col-xs-12 col-md-6">
<p class="">Width <%= items[j].width %> CM</p>
<p class="">Height <%= items[j].height %> CM</p>
</div>
</div>
</div>
</div>
</div>
<% } %>
<% } %>
</div>
<% } %>
</div>
这里是JQuery
$(document).ready(function(){
$('.items_img').click(function(event){
var total = $(this).attr('data-target');
$('data-target:clicked').each(function(){
total += parseInt($(this).val());
});
if (total == 0) {
$('#cost').val('');
} else {
$('#cost').val(total);
}
});
});
答案 0 :(得分:0)
pesudo :clicked
不存在。只有:target
但这只会返回最新点击的元素。
我可以在点击时设置一个is-selected
类,并使用该类访问所选元素。
$(document).ready(function() {
$('.items_img').click(function(event) {
var total = 0;
$(this).toggleClass('is-selected');
$('.items_img.is-selected').each(function() {
total += $(this).attr('data-target');
});
if (total == 0) {
$('#cost').val('');
} else {
$('#cost').val(total);
}
});
});