jquery keypress() event get text

Fiona - myaccessible.website picture Fiona - myaccessible.website · Sep 11, 2009 · Viewed 57.1k times · Source

I want a function to be run when a keypress occurs on a text box, so I have this code:

$("input[x]").keypress(function() {
        DoX();
    })

This is working fine, but in my function I want to do something based on the text value in the textbox

var textValue = ("input[x]").val();

Now the problem here is that it lags behind by a key so if my text box says 'He' and I type an 'l', then I want my textValue to be 'Hel', but it is returning the previous value 'He' because presumably the character hasn't been put in the text box yet.

Is there a way of getting 'Hel' out of my function here?

Thanks :)

Answer

Christian C. Salvadó picture Christian C. Salvadó · Sep 11, 2009

You can try to use the keyup event:

$(selector).keyup(function() {
  var textValue = $(this).val();
  DoX();
});