2011-10-07 150 views
0

我有一些jQuery代碼,我想查找用戶的輸入長度,但每次都不是給出用戶輸入長度,而是返回文本框中定義的最大長度。我怎樣才能做到這一點?jQuery文本框用戶輸入長度

我想使用jQuery實現這一目標是: 我想,只要用戶類型0,我想將其轉換爲000,但是當用戶類型70,它也將其轉換爲000,我想保持作爲它是。所以我希望這隻在用戶輸入長度小於1時纔會觸發。輸入用戶框的HTML定義的最大長度爲3.

您的意見非常感謝。

這裏是我的jQuery代碼:

$(document).ready(function(){ 
    $("input:[id*=txtFairIsaacScore]").keydown(function(event){ 
     if($("input:[id*=chkFairIsaacScoreEdited]").is(":checked")){ 
      //$("input:[id*=txtFairIsaacScore]").unmask(); 

      var cp_value = $("input:id*=txtFairIsaacScore]").val().length; 

      alert(cp_value); 

      if(cp_value <= 1){ 
       if ((event.keyCode == 48) || (event.keyCode == 96)){ 
        $("input:[id*=txtFairIsaacScore]").val("000"); 
       } 
      } 
     } 
    }); 
}); 

回答

4
<input type='text' id='inp'/> 

$('#inp').live('keyup',function(){ 
    alert($(this).val().length) 
}) 

這個工作正常,我ü可以查看這裏http://jsfiddle.net/nrVGL/1/

+1

.live()已從1.9版本中移除jQuery,使用.on()請參閱http://stackoverflow.com/questions/1481152/jquery-how-to-detect-a-textboxs-content已更改 – Wes

0

不知道的長度部分...

您可以檢查 -

<input type='text' id='test' maxlength='3'/> 

$('#test').bind('keyup',function(){ 
    if($(this).val().length < 1) 
     $('#test').val('000'); 

}) 

http://jsfiddle.net/nrVGL/7/

+0

其不工作 – ana

+0

已添加到小提琴。如果你確實注意到沒有輸入000應該被填充。如果用戶輸入,它應該保持原樣。你可以修改小提琴,讓我們知道什麼是不工作? – Jayendra

+0

http://jsfiddle.net/nrVGL/9/此代碼不起作用 – ana