2013-08-06 78 views
0

我寫了這個小腳本,檢查地看到,用戶輸入一個0或1。如果別的,它會變成一個0:限制輸入文本框只是0或1

$('.lcdnum1').keyup(function(){ 
    if (!($(this).val()==='0' || $(this).val()==='1')){ 
     $(this).val('0'); 
    } 
}); 

我不喜歡它的唯一原因是你首先看到「壞」字。如果你鍵入一個「X」,簡要說明了「X」,然後很快消失,並通過0

這裏換成是我測試的URL演示發生了什麼: http://sterlingmodular.com/test/plan-series-build.asp?console=PLNUno&woodtrim=TOBA&speakerplatform=SPSA&lcd4=1

哪有我修改這個以便它對用戶來說更平滑一點?也就是說,「壞」字不應該放在首位。謝謝!

+1

使用'keydown'而不是'keyup'。 –

+0

你可以使用keydown? – putvande

+0

keydown並消耗它,如果你不喜歡它。 – MightyPork

回答

1
$('.lcdnum1').keyup(function(){ 
    var value = $.trim(this.value); 
    if (value != '1'){ 
     $(this).val('0'); 
    } 
}); 

DEMO

2

只是稍作調整,您使用的,使用的是KEYUP這意味着鍵已經被釋放後,將運行檢查的事件。但是,如果您在密鑰發佈前運行檢查,您將獲得所需的結果。

$('.lcdnum1').keydown(function(){ 
    if (!($(this).val()==='0' || $(this).val()==='1')){ 
     $(this).val('0'); 
    } 
}); 
相關問題