如何在文本输入值更改时运行jQuery?

时间:2012-11-28 10:04:57

标签: jquery html ajax

我想要的是在用户更改输入值时显示成功消息。如果它以foo开头且用户键入s制作foos,我想显示成功消息。

我错过了什么?

Simple JSFiddle:http://jsfiddle.net/DdyNN/

HTML:

<input type="text" name="foo" id="foo" value="foo">
<div id="bar"></div>​

JS:

$('#foo').change(function() { 
    $('#bar').html('yay!');
});​

5 个答案:

答案 0 :(得分:3)

离开文本字段时会触发更改事件。我会注册keyup或keydown事件。

链接:

答案 1 :(得分:1)

这有效:

$('#foo').keyup(function() {
    if($(this).val()=='foos'){
        $('#bar').html('yay!');
    }
});​

答案 2 :(得分:1)

$ .change()用于选择而不用于输入类型。尝试:

var currentvalue = $('#foo').val();
$('#foo').focusout(function(){
if($(this).val() != currentvalue){
$('#bar').html('yay!'); currentvalue = $(this).val();
}
});

答案 3 :(得分:1)

试试这个,

<强> Live Demo

prv = $('#foo').val();
$('#foo').keyup(function() {
    if(prv + "s" == $(this).val()) 
       $('#bar').html('yay! success');
    else
       $('#bar').html('yay! failure'); 

        prv = $('#foo').val();
});​

答案 4 :(得分:1)

这项工作是在焦点上按下文本框的键

$('#foo').focus(function() { 
   $('#foo').keyup(function(){
     if($(this).val()=='foos')$('#bar').html('yay!');
      });
});​