Question

Je suis nouveau sur JQuery, alors soyez patient avec moi:).

J'ai un problème simple:

$(document).ready(function() {

     $("#instrument").change(function() {
         $("#tunings").html("<select id=\"TuningSelector>\"[..]</div>");
     });

     $("#TuningSelector").change(function() {
         DoSomethingWithTheValue();
      }); 

 });

Le problème est que, lorsque l'instrument a changé, le script ne répond plus aux modifications de TuningSelector. Comme JQuery ne voit pas le nouvel élément TuningSelector ...

Dois-je appeler une actualisation sur JQuery ou plus? Pour qu'il voie le DOM rafraîchi?

Était-ce utile?

La solution

En règle générale, vous souhaitez utiliser on afin d'appliquer le gestionnaire aux nouveaux éléments correspondant au sélecteur et au délégué. vers un élément supérieur du DOM.

$('body').on( 'change', '#control', function() {
    DoSomething();
});

Autres conseils

Avec les événements jQuery, si vous souhaitez qu’il s’applique à de nouveaux éléments, vous utiliserez le .live feuille de route pour jQuery 1.4)

Vous pouvez également utiliser le plug-in liveQuery .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top