我想限制用户输入的数量不应多于库存数量

时间:2018-07-12 07:36:57

标签: javascript html arrays

我想限制用户输入的数量不应多于库存数量,i在下面的JavaScript代码qty是我从服务器提取的数量,而#quantity是输入框,其中我将默认值设置为1。我希望用户不能再输入quantity,然后再输入qty

select: function( event, ui ) {
    var names = ui.item.data.split("|");                        
    id_arr = $(this).attr('id');
    id = id_arr.split("_");
    $('#itemNo_'+id[1]).val(names[0]);
    $('#itemName_'+id[1]).val(names[1]);
    $('#packing_'+id[1]).val(names[3]);
    $('#qty_'+id[1]).val(names[4]);
    $('#quantity_'+id[1]).val(1);
    $('#discount_'+id[1]).val(0);   
    $('#price_'+id[1]).val(names[2]);
    $('#total_'+id[1]).val( 1*names[2] );
    calculateTotal();

有HTML:

<td>
    <input disabled type="number" name="data[0][qty]" id="qty_1" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;">
</td>

<td>
    <input type="number" name="data[0][quantity]" id="quantity_1" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;">
</td>

1 个答案:

答案 0 :(得分:0)

您可以使用max属性,但这只有在提交后才有效。

如果要限制更高的输入,可以执行以下操作:

$("#quantity").keyup(function() {
  if($(this).val() > qty) {
    $(this).val(qty);
  }
});

这将检查每个keyup(键入的数字)是否值大于qty