jquery ne voit pas de nouveaux éléments
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?
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 .