2009-07-27 7 views
0

Cela peut-être déjà une réponse ici, mais je ne peux pas sembler trouver la chaîne de recherche à droite .. siplusieurs fois les mêmes PartialsViews et JSON

je, presque les mêmes que les commentaires de SO, une page qui a plusieurs instances de la même vue partielle.

La vue partielle comporte un bouton qui, lorsqu'il est pressé, ajoute un commentaire associé au produit représenté par PartialView.

Je peux facilement faire ce travail si je fais un post complet et tous les commentaires sont mis à jour, mais c'est une solution laide. Ce dont j'ai besoin est sur le bouton qui a été pressé J'ai besoin d'un appel de Json au serveur. Je sauvegarde ensuite le commentaire et repasse une nouvelle vue partielle avec une liste de nouveaux commentaires.

Je souhaite uniquement mettre à jour les commentaires sur le produit particulier auquel j'ai ajouté le commentaire. Je l'utilise dans le javascript pour l'assigner au bouton;

$(".clsTest").unbind("click").click(function(evt) { 

Mais il attache uniquement ceci à la première instance du bouton qu'il ne trouve pas tout. Je sens qu'il me manque un élément clé de la connaissance ici. Je ne suis même pas sûr de poser correctement cette question.

Répondre

0

Je ne suis pas un ninja jQuery mais je pense que vous devez regarder la méthode jQuery '.each'.

Peut-être quelque chose comme ça (?):

$(".clsTest").each(
    function() { 
     $(this).unbind("click").click(function(evt) { 
      //do your stuff... 
     }); 
    } 
); 

HTHS
Charles

+1

Vous n'avez pas besoin de faire cela. Unbind fonctionne sur tous les éléments correspondants. Vérifiez les documents: http://docs.jquery.com/Events/unbind – RaYell

+0

Ouais, c'était juste copier et coller le code de la question. – Charlino

2

Pourquoi utilisez-vous pas jQuery live pour cela. Vous n'aurez pas à ajouter de gestionnaire d'événements à chaque fois que vous ajouterez un nouvel élément correspondant au sélecteur, car jQuery le fera pour vous.

$('.clsTest').live('click', function() { 
    ... 
}); 
+0

+1 pour essayer mais je pense que j'ai décrit le problème de manière incorrecte. Charlino m'a un peu rapproché mais a créé une autre question. – griegs

Questions connexes