jquery 无刷新添加/删除 input行 实时计算购物车价格

本文介绍使用JQuery实现购物车商品的动态增删及总价实时更新功能。通过添加按钮可动态生成包含商品描述、数量、单价等输入框的新行,并即时计算金额总计。同时支持行项目的移除并保持数据一致性。

jquery 无刷新添加/删除 input行 实时计算购物车价格

jquery 未来事件插件jq_Live_Extension.js

jquery 无刷新添加/删除 input行 实时计算购物车价格

 

 

<script>  
    $(document).ready(function(){  
       //<tr/>居中  
        $("#tab tr").attr("align","center");  
         
        //增加<tr/>  
       $("#but").click(function(){  
            var _len = $("#tab tr").length;          
            $("#tab").append("<tr id="+_len+" align='center'>"  
                               +"<td>"+_len+"</td>"  
                               +"<td align='left'><input type='' name='product_id[]' value=\"\" onFocus=\"this.value=''\"/ class=\"order_form_product_description\" id='product_id"+_len+"'></td>"  
                               +"<td><input type='text' name='quantity[]' id='quantity"+_len+"' class='num-pallets-input' ></td>"  
                               +"<td><input type='text' name='price[]' id='price"+_len+"' class='price-per-pallet'/></td>"  
                               +"<td class='row-total'><span id='thistotal"+_len+"' class='row-total-input'></span></td>"  
                               +"<td><a href='javascript:void(0)' onclick=\'deltr("+_len+")\'><img src='form_del_icon.gif'></a></td>"  
                           +"</tr>");              
        })      
   })  
      
    //删除<tr/>  
    var deltr =function(index)  
    {  
       var _len = $("#tab tr").length;  
        $("tr[id='"+index+"']").remove();//删除当前行  
          
       for(var i=index+1,j=_len;i<j;i++)  
       {  
            var nextTxtVal = $("#quantity"+i).val();  
            var nextPriceVal= $("#price"+i).val();  
            var nextproduct_idVal= $("#product_id"+i).val();  
            var nextthistotalVal= $("#thistotal"+i).text();  
            //alert (nextthistotalVal);  
          $("tr[id=\'"+i+"\']")  
                .replaceWith("<tr id="+(i-1)+" align='center'>"  
                               +"<td>"+(i-1)+"</td>"  
                               +"<td align='left'><input type='text' name='product_id[]' value='"+nextproduct_idVal+"' class=\"order_form_product_description\" id='product_id"+(i-1)+"'></td>"  
                                +"<td><input type='text' name='quantity[]' value='"+nextTxtVal+"' id='quantity"+(i-1)+"' class='num-pallets-input'/></td>"  
                                +"<td><input type='text' name='price[]' class='price-per-pallet' name='price"+(i-1)+"' value='"+nextPriceVal+"' /></td>"  
                                +"<td class='row-total'><span class='row-total-input'>"+nextthistotalVal+"</span></td>"  
                               +"<td><a href='javascript:void(0)' onclick=\'deltr("+(i-1)+")\'><img src='form_del_icon.gif'></a></td>"  
                           +"</tr>");  
         }    
  
         calcProdSubTotal();  
      
  
             
 }  
</script>  
<body>  
   <table id="tab" border="0" width="500" align="center" style="margin-top:20px">  
        <tr>  
            <td></td>  
            <td align="left"><span class="red">*</span>Product Description</td>  
            <td><span class="red">*</span>Quantity</td>  
            <td><span class="red">*</span>Unit Price (USD)</td>  
            <td>Amount(USD)</td>  
            <td></td>  
     </tr>  
     <tr>  
     <td>1</td>  
     <td align="left"><input type="" name="product_id[]" value="" onFocus="this.value=''" class="order_form_product_description" /></td>  
     <td><input type="text" class="num-pallets-input" name="quantity[]" onKeyPress="if ((event.keyCode<48 || event.keyCode>57)) event.returnValue=false"/></td>  
     <td><input type="" class="price-per-pallet" name="price[]" onKeyPress="if (event.keyCode!=46 && (event.keyCode<48 || event.keyCode>57)) event.returnValue=false"></td>  
     <td class="row-total"><span class="row-total-input"></span></td>   
     <td></td>  
     </tr>  
       
   </table>  
     
    <div style="margin-left:205px;margin-top:20px">  
       <img src="add_more_products.gif" id="but" style="cursor:pointer"/>  
    </div>  
    <div style=" float:right; padding-right:50px; font-weight:bold">Total:<span class="red">US$<span id="product-subtotal">0</span></span><input type="hidden" name="product-subtotal" /></div>  
</div>  

 

转载于:https://www.cnblogs.com/web100/p/jq_Live_Extension.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值