2016-06-30 102 views
0

我試圖阻止用戶在輸入框中輸入0。阻止用戶輸入0作爲輸入

HTML代碼:

<input class="billMenuQuantity" type="number" name="quantity"> 

Jquery的代碼:

$('.billMenuQuantity').on('keyup keydown', function (e) { 
     if ($(this).val() < 1 && e.keyCode != 46 && e.keyCode != 8) { 
      e.preventDefault(); 
      $(this).val(1); 
     } 
    }); 

它防止用戶進入0但它也防止用戶進入的任何其他單個位的數字(即2- 9)除1以外。它接受雙位數字(即11,12等)。

任何人都可以幫助我嗎?

回答

2

剛的input-value

$('.billMenuQuantity').on('keyup keydown', function(e) { 
 
    var code = e.keyCode || e.which; 
 
    if (this.value.length === 0 && code === 96) { 
 
    e.preventDefault(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
 
<input class="billMenuQuantity" type="number" name="quantity">
012測試 code === 96和長度

+3

這將防止號碼的進入像20或100 –

+0

它的工作,但因爲@JeremyHarris提到它的預防號碼,如20或100。我只想阻止用戶進入0 –

+0

@JeremyHarris,我正想做一個編輯和OP說這是他想要的..安靜混淆狀態.. – Rayon

0

試試這個

$(this).val() == 0代替$(this).val() < 1

$('.billMenuQuantity').on('keyup keydown', function (e) { 
    if ($(this).val() == 0 && e.keyCode != 46 && e.keyCode != 8) { 
     e.preventDefault(); 
     $(this).val(1); 
    } 
});