217 votes

Détection du changement de valeur de l'entrée [type = text] dans jQuery

Je souhaite exécuter une fonction à chaque fois que la valeur d'une zone de saisie spécifique change. Cela fonctionne presque avec $('input').keyup(function) , mais rien ne se passe lors du collage de texte dans la zone, par exemple. $input.change(function) ne se déclenche que lorsque l'entrée est floue. Comment puis-je le savoir immédiatement lorsqu'une zone de texte a changé de valeur?

484voto

Alejandro Silva Points 341

Rappelez-vous simplement que 'on' est recommandé par rapport à la fonction 'bind', essayez donc toujours d'utiliser un écouteur d'événement comme celui-ci:

 $("#myTextBox").on("change paste keyup", function() {
   alert($(this).val()); 
});
 

114voto

dknaack Points 26873

La description

Vous pouvez le faire en utilisant la méthode .bind() jQuery. Découvrez le jsFiddle .

Échantillon

Html

 <input id="myTextBox" type="text"/>
 

jQuery

 $("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});
 

Plus d'information

16voto

andres Points 11

Essayez cette.. crédits à http://stackoverflow.com/users/1169519/teemu

pour répondre à ma question ici.. jQuery keyup ne fonctionne pas avec le code de filtrage

Cette solution m'a aidé à avancer sur mon projet.

$("#your_textbox").on("input propertychange",function(){

   // Do your thing here.
});

Remarque: propertychange pour les versions antérieures d'internet explorer.

11voto

Ishan Jain Points 3087

vous pouvez également utiliser des événements textbox -

 <input id="txt1" type="text" onchange="SetDefault($(this).val());" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">
 

jquery -

 function SetDefault(Text){
  alert(Text);
}
 

Essaye ça

5voto

H Bellamy Points 3442

Essaye ça:

Fondamentalement, il suffit de rendre compte de chaque événement:

Html:

 <input id = "textbox" type = "text">
 

Jquery:

 $("#textbox").keyup(function() { 
    alert($(this).val());  
}); 

$("#textbox").change(function() { 
alert($(this).val());  
}); 
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X