Jquery通过每个循环的data-price属性获得价格

时间:2017-05-13 06:26:20

标签: javascript php jquery html

其实我想根据数量来计算价格。所以我有一个ID为“输入数量”的数量字段,我也根据数量定义了折扣。当我在关键数量字段上获取数量值并且还获得折扣价格时。但它一直把折扣价格作为40 rs。但我想要的是,如果数量是10还意味着价格应该是50而新价格应该是10 * 50 = 500,如果数量是20还意味着价格应该是45而新价格应该是20 * 45 = 900和数量30更多意味着价格应该是40,新价格应该是30 * 40 = 1200.但是给出了错误的结果。如何解决这个问题。

下面是HTML,

    <div class="col-md-7 nopad pull-right">
                      <input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" maxlength="3" class="form-control option-total" onkeyup="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"/>

                      <span id="error" style="color: Red; display: none">Input digits (0 - 9)</span>
                      <input type="hidden" name="product_id" value="<?php echo $product_id; ?>" />
                    </div>

<?php foreach ($discounts as $discount) { ?>
                  <!-- <h2 class="mT0 prodprice" class="prd-price" data-price="<?php echo $price; ?>"><?php echo $price; ?></h2> -->
                  <input type="hidden" data-quantity="<?php echo $discount['quantity']; ?>" data-price="<?php echo $discount['price']; ?>" class="disc-price">
                  <li><?php echo $discount['quantity']; ?><?php echo $text_discount; ?><?php echo $discount['price']; ?></li>
                <?php } ?>

Jquery代码,

$("#input-quantity").on('keyup',function(){
  if($(this).val()=="" || $(this).val()==0){
    return false;
  }
  var total = $(this).val();
  // alert(total);return false;
  // $('#input-quantity').empty();

  var currency = $(".prodprice").text().match(/[a-zA-Z]+/)[0];
  var optprice = 0;
  // var actprice = $(".disc-price").data('price').match(/\d+/)[0];
  // alert(actprice);
  //var newprice = actprice;
  $(".disc-price").each(function(){
    var actprice = $(this).data('price').match(/\d+/)[0];
  // var total = $("#input-quantity").val();
    newprice = Number(parseInt(total)) * Number(actprice);
    newprice=commaSeparateNumber(newprice);
    $(".prodprice").text(currency+"."+newprice);
  });


});

0 个答案:

没有答案