удалить элемент из "промежуточного итога" в jQuery - PullRequest
0 голосов
/ 02 ноября 2010

Это мой код для корзины покупок (общая сумма пока, но, в конце концов, корзина покупок), я пытаюсь вставить код, чтобы минус значение кликаемого элемента из «итога», это мой код:

$('.addtocart').click(function(){
                $('#cart').show();
                var omPartNo = $(this).next().text();
                var supPartNo = $(this).next().next().text();
                var cat = $(this).next().next().next().text();
                var desc = $(this).next().next().next().next().text();
                var manuf = $(this).next().next().next().next().next().text();
                var list = $(this).next().next().next().next().next().next().text();
                var disc = $(this).next().next().next().next().next().next().next().text();
                var priceEach = $(this).next().next().next().next().next().next().next().next().text();
                $('#cart table').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td>' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td>' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td class="price">' + priceEach + '</td></tr>');
                    var total = 0;
                    $('.price').each(function() { 
                        total += parseFloat($.text([this]));
                    });
                    $('#subtotal span').html(total.toFixed(2));

            });

            $('.removeItem').live('click',function(){                                       
                $(this).closest('tr').remove(); 
            }); 

Поэтому, когда я щелкаю по элементу .removeItem, мне нужно, чтобы он вычитался из «промежуточного итога», если это возможно ??

Спасибо

Ответы [ 2 ]

0 голосов
/ 02 ноября 2010
var tableRow = $(this).closest('tr');
var price = parseFloat(tableRow.find('.price').text());
total -= price.toFixed(2);

tableRow.remove();
0 голосов
/ 02 ноября 2010

Создайте функцию для вычисления суммы и вызывайте ее всякий раз, когда есть причина для пересчета ..

 function calcTotal(){
     var total = 0;
     $('.price').each(function() { 
         total += parseFloat($(this).text());
       });
     $('#subtotal span').html(total.toFixed(2));
  }

и теперь измените

$('#cart table').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td>' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td>' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td class="price">' + priceEach + '</td></tr>');
                    var total = 0;
                    $('.price').each(function() { 
                        total += parseFloat($.text([this]));
                    });
                    $('#subtotal span').html(total.toFixed(2));

            });

            $('.removeItem').live('click',function(){                                       
                $(this).closest('tr').remove(); 
            }); 

на

$('#cart table').append('<tr class="tableRow"><td><a class="removeItem" href="#"><img src="/admin/images/delete.png"></img></a><td>' + omPartNo + '</td><td>' + supPartNo + '</td><td>' + cat + '</td><td>' + desc + '</td><td>' + manuf + '</td><td>' + list + '</td><td>' + disc + '</td><td class="price">' + priceEach + '</td></tr>');
                    calcTotal();

            });

            $('.removeItem').live('click',function(){                                       
                $(this).closest('tr').remove(); 
                calcTotal();
            }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...