2016-03-07 98 views
0

在表單輸入字段中,我想顯示滾動選項之類的數字,但是我想禁用一些數字,我從數據庫中獲取數字。不允許在jQuery的表單輸入字段中輸入一些數字

例如,如果我的數據庫查詢返回3,5和7,則用戶不應該能夠在表單輸入字段中輸入這些數字。

<form> 
<input name="sid" type="number"> 
</form> 

回答

2

你可以做這樣的事情:

$(function(){ 
    var preventNumbers = [3,4,5] //array of numbers 
    $('input[name="sid"]').keydown(function(e){ 
     if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1){ 
     return false; 
    } 
    }); 
}) 

DEMO

在這裏,我已經創建您希望防止鍵入輸入的數組數組,並且使用keydown函數可以防止它發生。

如果你想防止箭頭事件還那麼你必須抓住mouseup事件,如:

$(function(){ 
    var preventNumbers = [3,4,5] 
    $('input[name="sid"]').keydown(function(e){ 
     if(preventNumbers.indexOf(parseInt(String.fromCharCode(e.which))) > -1)   { 
     return false; 
    } 
    }).mouseup(function(){ 
     var val = $(this).val(); 
    if(preventNumbers.indexOf(parseInt(val)) > -1)   { 
     $(this).val(''); 
    } 
    }) 
}) 

Updated DEMO

+0

謝謝您的回答兄弟,但還是我能夠輸入3,4和5在輸入欄中使用向上和向下按鈕 –

+0

那麼你想防止這種情況嗎? – Manwal

+0

是的兄弟用戶應該以任何方式輸入這些數字 –

0

如果你正在使用jQuery,您可以綁定到keyup事件,並檢查被按下的鍵,然後返回false,如果它是一個你不希望用戶選擇:

$("input").keypress(function(e) { 
    if (event.which == 13) { 
     event.preventDefault(); 
    } 
}); 
相關問題