2011-07-12 2 views
0

J'ai remarqué que dans jquery le texte ajouté ne sera pas traité par les fonctions jquery. Par exemple, vous ajoutez un code contenant une liste déroulante et vous avez une fonction qui appelle lors de la modification de sa valeur. Cette fonction fonctionne uniquement sur le code existant, pas sur celui ajouté.JQuery traitant le contenu interactif


Et la réponse est:

Au lieu d'utiliser:

$('#purchase-table select').change(function() { 
}); 

Utilisation:

$('#purchase-table select').live('change', function() { 
}); 

Vous avez besoin d'être en mesure de traiter le contenu ajax-joint par vos fonctions jquery. Bonne journée.

Merci à tous pour votre aide.

Répondre

1

Vous pouvez utiliser JQuery .live()

Append nouveau contenu:

$('body').append('<div class="clickme">Another target</div>'); 

gestionnaire Ajouter à cela:

$('.clickme').live('click', function() { 
    // Live handler called. 
}); 

clique ensuite sur le nouvel élément sera également déclencheur le gestionnaire.

1

La méthode la plus simple pour gérer les événements sur un contenu interactif est la méthode jQuery.live.

http://api.jquery.com/live/

Description: Joindre un gestionnaire à l'événement pour tous les éléments qui correspondent au sélecteur de courant, maintenant et dans l'avenir.

+0

Merci, Ghommey, je vais vérifier ça aussi. – tak