2017-03-18 47 views
-1

我已经建立了一个购物车,我想根据数量更新价格..但是我面临的问题是使用以下JavaScript代码,对于第一个项目我可以根据数量更新价格,但对于第二个项目或下一个项目我不能..任何人都可以帮我找到错误请。如何使用jQuery根据数量动态更新价格?

这里是我的html:

<td class="total_price table-default total" >${{$row->price}} 
      <span></span></td> 
      <td class="qty table-default"> 
      <input type="number" class="quantity" value="{{$row->no_of_items}}" name="qty" maxlength="3" max="999" min="1" /> &times;${{$row->p_price}} 

这里的jQueryPart:

$(".quantity").change(update); 

    function update() 
    { 
     var qty = parseFloat($(this).val()); 
     var net = parseFloat(document.getElementById("net_price").value); 
     var total = qty * net; 
     $('.total').html("$"+total); 
    } 
+1

这个'$(“#quantity”)。each'没有意义,因为只有一个元素具有给定的ID。使用类名而不是ID。 – Titus

+0

你能建议一个有效的吗? 我可能不赞成使用Javascript。 – User57

+0

既然您已将HTML更改为使用类名称而不是ID,则可以将JavaScript更改为原样。 '$(“。quantity”)。each(function update(){......})' – Titus

回答

1

删除以下块:

$("#quantity").each(function(i){ 

这样的功能是:

function update(){ 
    var qty = parseFloat($(this).val()); 
    var net = parseFloat(document.getElementById("net_price").value); 
    var total = qty * net; 
    $('#total').html("$"+total); 
} 
+0

但问题在于它没有得到购物车中每个产品的更新..当我更改数量时,第一个产品它正在更新..但第二个不..等等.. – User57

相关问题