总没有进入第二排

时间:2017-11-04 09:57:31

标签: javascript jquery html

我有一个下拉列表和2个文本框。我有一行超过1行相同的字段。当我做总计时,它在第一行完成,但没有在第二行获得总数。

var counter = 1;
counter++;
$(document).on('change, focusout', '.price,.qty', function() {
  var oproductname = $(this).val();
  var productQty = parseInt($('#productqty' + counter).val());
  var productPrice = parseFloat($('#orderedproduct' + counter).find(':selected').data('price'));
  var totalAmount = productQty * productPrice;

  $('#orderammount' + counter).val(totalAmount);


});
<select name="orderedproduct" id="orderedproduct2" class="price">
              <option>Select Ordered Product</option>
              <option value="1" data-price="45.23">incarprot</option>
              <option value="2" data-price="50.00">incalcy</option>
 </select>

<input type="text" name="productqty" id="productqty2" class="gui-input" placeholder="Quantity">

<input type="text" name="orderammount" id="orderammount2" class="gui-input qty" disable placeholder="Total Amount">

<select name="orderedproduct" id="orderedproduct3" class="price">
              <option>Select Ordered Product</option>
              <option value="1" data-price="45.23">incarprot</option>
              <option value="2" data-price="50.00">incalcy</option>
 </select>

<input type="text" name="productqty" id="productqty3" class="gui-input" placeholder="Quantity">

<input type="text" name="orderammount" id="orderammount3" class="gui-input qty" disable placeholder="Total Amount">

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

1 个答案:

答案 0 :(得分:1)

counter变量中的错误,使用方式,counter永远不会更改为3,第二行不会显示Total Amount。因此,为了使其正常工作,您可以在名为<select>的{​​{1}}下拉列表中添加新的属性属性,然后在row中获取此row值,然后可以在counter选择器中使用。

&#13;
&#13;
id
&#13;
$(document).on('change, blur', '.price,.txtQuantity', function(){ 
debugger
    var oproductname = $(this).val();
    var counter = $(this).attr('row');
    var productQty = parseInt($('#productqty'+counter).val());
    var productPrice = parseFloat($('#orderedproduct'+counter).find(':selected').data('price'));
    var totalAmount = productQty * productPrice ; 
    
     $('#orderammount'+counter).val(totalAmount );
     

});
&#13;
&#13;
&#13;