2011-04-15 67 views
0

我写了一个使用js的购物篮,当我选择一个数量时,我会自动更新购物篮的总数。我的问题是,当我删除产品时,总和值不会更新,但会在页面刷新时显示。jquery参数同步

这里是代码:

$('#add-to-basket select').selectbox(); 
    $('#contents select').selectbox().change(function (e) { 
     var product = $(this).parents('.product'); 
     var ppu  = product.find('.ppu').val(); 
     product.find('.price .wrapper .value').text($(this).val() * ppu); 

     var total = 0; 

     $('.product .price .value').each(function (index, value) { 
      total += +$(value).text(); 
     }); 

     var form = $(this).parents('form'); 
     form.ajaxSubmit(function() { 
     }); 

     $('#total .value').text(total); 
        $('#my_basket .basket_value').text(total); 
    }); 

    $('#delivery #address a').qtip({ 
     content: 'Vei putea reveni la coș dând click pe <span>Coșul Meu</span> în meniu.' 
    }); 

    $('.drop-item').click(function(e) { 
     e.preventDefault(); 
     var form = $(this).parents(form); 
     var item = $(this).parents('li'); 
     var total = 0; 



     $('.product .price .value').each(function (index, value) { 
      total += +$(value).text(); 
     }); 

     $('#total .value').text(total); 

     item.remove(); 
     form.ajaxSubmit(function() {}); 

     if ($('#contents li').length < 1) 
     { 
      $('#basket').remove(); 
      $('#basket-breadcrumbs').remove(); 

      $('#main').append('<p class="message">Coșul tău este gol.</p>'); 
     } 
    }); 

我的问题是在去除项功能。我如何使项目删除总价值更新?

谢谢!

回答

1

从我看到的你可能只需要移动你的item.remove()调用你的.drop-item点击处理程序中的几行。您需要确保在从DOM中删除项目,然后检索您将要累计的新输入列表。

+0

你是对的。非常非常感谢你! – dana 2011-04-15 19:20:18

+0

另外,当我包含非整数值(例如17.4等)时,我得到NaN有什么想法我怎么能摆脱这个?非常感谢! – dana 2011-04-15 19:22:18

+1

很高兴帮助。至于你的值:$().text返回一个字符串,当你使用+ =的时候它可以被隐含地转换为一个整数,但是float值不会相同。在将数据添加到总数之前,您需要使用parseFloat来评估数据。 – 2011-04-15 19:59:27