2016-12-06 69 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

相關問題