2011-10-07 82 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