其实我想根据数量来计算价格。所以我有一个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);
});
});