[英]Jquery keyup not working properly
我試圖用兩個文本框檢查可用的數量。 如果輸入的數量大於可用數量,則輸入的數量應自動更改為最大可用數量。
假設最多5個數量可用,如果用戶輸入6,我收到一條警告消息。 但如果用戶輸入10,那么我沒有得到警報。 我正在使用以下代碼。
<div class="qty-wrapper">
<label for="qty">Qty</label>
<input data-productid="100" type="text" id="qty" maxlength="12" value="1" class="input-text qty hk_qty_text_box" />
<br><br>
<label for="qty">Available</label>
<input readonly style="width: 100px;" type="text" id="avl_qty_100" value="5" class="input-text qty">
</div>
<script>
$('.hk_qty_text_box').on('keyup', function() {
var productId = $(this).data("productid");
var avlb_qty = $("#avl_qty_"+productId).val();
console.log($(this).val() +"===>"+ avlb_qty);
if($(this).val() > avlb_qty){
$(this).val(avlb_qty);
alert("Not enough qty...");
}
});
</script>
ID avl_qty_100值也會根據所選產品使用ajax進行更改。
您需要使用parseInt
將字符串轉換為整數。
JS
$('.hk_qty_text_box').on('keyup', function() {
var productId = $(this).data("productid");
var avlb_qty = parseInt($("#avl_qty_"+productId).val());
if(parseInt($(this).val()) > avlb_qty){
$(this).val(avlb_qty);
alert("Not enough qty...");
}
});
這是一個小提琴
假設max 5 qty可用,如果用戶輸入6,我收到警報消息。 但如果用戶輸入10,那么我沒有得到警報。
您正在比較字符串而不是數字 。 您需要在比較之前將avlb_qty
轉換為數字
var avlb_qty = +$("#avl_qty_"+productId).val(); //using unary + to coerce value to a number
var value = +$(this).val(); //converting $(this).val() to number as well
並將其比作
if( value > avlb_qty)
{
$(this).val(avlb_qty);
alert("Not enough qty...");
}
演示
$('.hk_qty_text_box').on('keyup', function() { var productId = $(this).data("productid"); var avlb_qty = +$("#avl_qty_" + productId).val(); console.log($(this).val() + "===>" + avlb_qty); var value = +$(this).val(); if (value > avlb_qty) { $(this).val(avlb_qty); alert("Not enough qty..."); } });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="qty-wrapper"> <label for="qty">Qty</label> <input data-productid="100" type="text" id="qty" maxlength="12" value="1" class="input-text qty hk_qty_text_box" /> <br><br> <label for="qty">Available</label> <input readonly style="width: 100px;" type="text" id="avl_qty_100" value="5" class="input-text qty"> </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.