我的问题非常基本(至少对你们来说),但我似乎无法让它发挥作用。
所以我有产品和添加到购物车按钮。我需要它,以便每当我在购物车中添加产品时,它都不会将其添加到新行中,而只是增加计数。
不知何故,它只识别被点击的第一个产品。这是我的小提琴:
var initial = 0;
jQuery('.add-to-cart').live('click', function() {
jQuery('.no-prods').fadeOut();
jQuery('.subtotal').fadeIn();
var dataOwner = jQuery(this).parent().closest('div').attr('data-owner');
var dataClass = jQuery(this).parent().closest('div').attr('data-owner');
dataClass = '.' + dataClass;
var count = '<span class="prod-count ' + dataOwner + '">' + 1 + '</span>';
var price = jQuery(this).parent().closest('div').attr('data-price');
price = 'jQuery<span class="prod-price">' + price + '</span>';
if(initial == 0) {
var p_name = jQuery('.span9 ' + dataClass + ' h3').clone();
var p_name_and_quantity = jQuery(p_name).after(' ' + count + ' x ' + price);
jQuery('.my-cart').append(p_name_and_quantity);
initial = 1;
//get_subtotal();
} else {
get_products(dataClass, count, price);
}
});
function get_products(dataClass, count, price) {
jQuery('.my-cart h3').each(function() {
var c_name = jQuery(this).html();
var product = jQuery('.span9 ' + dataClass + ' h3').html();
if(c_name == product) {
//get_count(count, dataClass);
return false;
} else {
var this_p_name = jQuery('.span9 ' + dataClass + ' h3').clone();
var this_p_name_and_quantity = jQuery(this_p_name).after(' ' + count + ' x ' + price);
jQuery('.my-cart').append(this_p_name_and_quantity);
get_subtotal();
}
});
return false;
}
答案 0 :(得分:1)
我已更新您的代码并以自己的方式完成: - Fiddle
function get_products(el) {
if(products.indexOf($(el).attr('data-product')) == -1){
products.push($(el).attr('data-product'))
$('.my-cart').append('<h3 class="product">' + $(el).parent().find("h3").html() + '</h3>');
}
subTotal += +$(el).parent().attr("data-price");
$(".subtotal").html("Subtotal: $" + subTotal);
}
希望这就是你要找的东西。