2016-12-06 112 views
0

我已经做了一个购物车,我添加了基于自动完成搜索的行。并根据数量价格变化。但我想找到小计的总数..我写了更新部分。但它显示为0而不是实际值。任何人都可以帮助我找出我的jQuery代码中有什么错误。谢谢!如何显示使用jquery动态添加列的总数

$('#searchName').autocomplete({ 
       source: '{!! asset('nameAutocomplete') !!}', 
       select:function(suggestion,ui){ 
        event.preventDefault();  
         var $tbody = $('#example tbody'); 
         $tbody.append('<tr><td class="id">' + ui.item.id + 
         '</td><td class="name">' + ui.item.value + 
         '</td><td class="price">' + ui.item.price + 
         '</td><td><input type="text" class="quantity" value="1"/></td><td><input type="text" class="total" readonly value="'+ui.item.price+'" class="readonly"/></td></tr>'); 
         $('.quantity').on('keyup',function(){ 
          var tot = $(this).parent().prev().html() * this.value; 
          $(this).parent().next().find('.total').val(tot); 
         console.log(calculateSum());  
         }); 
         function calculateSum(){ 
         var sum = 0; 
        $(".total").each(function() { 
         var value = $(this).text(); 
         // add only if the value is number 
         if(!isNaN(value) && value.length != 0) { 
          sum += parseFloat(value); 
         } 
         }); 
        return sum; 
        }    
        }     
      }); 

这里是表部分:

<table class="table table-striped table-bordered" id="example"> 
        <thead> 
         <tr>      
         <td>ID</td> 
         <td>Name</td> 
         <td>Price</td> 
         <td>Quantity</td> 
         <td>Total</td>      
         </tr> 
        </thead> 
        <tbody> 
        </tbody> 
        </table> 

回答

1

$(".total")是输入,所以你应该使用var value = $(this).val();,不var value = $(this).text();

+0

对不起,我没有得到它..你 – User57

+0

工作例如HTTPS ://jsfiddle.net/br3t/rk2vwfmz/。添加一些树木或狗,并改变它的数量 – br3t

相关问题