javascript - 如何使用jquery显示动态添加列的总数

标签 javascript jquery

我制作了一个购物车,其中根据自动完成搜索添加了行。并根据数量改变价格。但我想找到小计的总数..我已经写了更新部分。但它显示的是 0 而不是实际值。谁能帮我找出我的 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>  

最佳答案

$(".total") 是一个输入,因此您应该使用 var value = $(this).val();,而不是 var值 = $(this).text();

关于javascript - 如何使用jquery显示动态添加列的总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40993295/

相关文章:

javascript - React.js setState of objects 属性从数组

javascript - 使用 AngularJS 跳过嵌套表单验证

javascript - 如何获取 h :selectOneMenu 的选定索引

javascript - 无法从列表项获取 ID

jquery - 如何使用 jquery 对 api 进行 jsonp 调用

asp.net - jQuery黑莓ajax问题

javascript - 如何在 express.js 中抛出 404 错误?

javascript - 动态 id 选择器未被调用或实例化

javascript - 如何将数据从 onclick 按钮传递到变量

javascript - 如何在页面 View 中触发 jQuery?