290 votes

JQuery - détecter le changement de la valeur sur le champ d’entrée caché

J’ai un champ de texte masqué c’est valeur obtient mis à jour via une réponse Ajax.

Lorsque cette valeur change, je voudrais lancer une requête ajax. Quelqu'un peut-il conseiller sur la façon de détecter le changement ?

J’ai le code suivant, mais ne sais pas comment faire pour rechercher la valeur :

662voto

yycroman Points 2542

Donc, c’est manière tardive, mais j’ai découvert une réponse, au cas où il serait utile à toute personne qui vient à travers ce fil.

Variations de valeur aux éléments cachés n’automatiquement déclenchent l’événement .change(). Ainsi, partout où c’est que vous configurez cette valeur, vous devez également dire jQuery pour la déclencher.

Une fois que c’est le cas,

doit fonctionner comme prévu.

10voto

Tarun Gupta Points 1369

Vous pouvez simplement utiliser le dessous de la fonction, Vous pouvez également changer le type d'élément.

 $("input[type=hidden]").bind("change", function() {
       alert($(this).val()); 
 });

La variation de la valeur pour les éléments masqués ne sont pas automatiquement le feu .modifier() de l'événement. Ainsi, où que ce soit que vous êtes le réglage de cette valeur, vous devez également dire jQuery pour la déclencher.

HTML

 <div id="message"></div>
<input type="hidden" id="testChange" value="0"  />    

JAVASCRIPT

var $message = $('#message');
var $testChange = $('#testChange');
var i = 1;

function updateChange() {
    $message.html($message.html() + '<p>Changed to ' + $testChange.val() + '</p>');
}

$testChange.on('change', updateChange);

setInterval(function() {
    $testChange.val(++i).trigger('change');; 
    console.log("value changed" +$testChange.val());
}, 3000);

updateChange();

devrait fonctionner comme prévu.

http://jsfiddle.net/7CM6k/3/

6voto

Nitin Patil Points 1
$('#userid').change(function(){
  //fire your ajax call  
});

$('#userid').val(10).change();

-10voto

Ashwini Points 17

Il suffit de faire

Il se liera d’événement avec votre élément ajouté dynamique

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