jQuery référençant une div générée avec une vue partielle pour append une autre vue partielle

J’ai cette vue partielle rendue plusieurs fois sur une page:

@model POS.Domain.Entities.Category 

@Model.Name

Get Partial View function getView() { $('#divResult').load("@Url.Action("ProductList" , "Product", new {category = Model.Name})"); }

L’idée est que, lorsque quelqu’un clique sur le lien Get Partial View , il charge la vue partielle générée par l’action ProductList dans le contrôleur de Product à l’aide de la valeur de catégorie Model.Name et ajoute cette vue partielle au divResult div approprié.

Le problème est qu’après le chargement de la page, si un utilisateur clique sur l’un des liens GetPartialView , il charge la liste des produits contenus dans la dernière catégorie et les ajoute au div le plus haut divResult .

J’espère un peu d’aide pour changer le script afin qu’il utilise jQuery pour charger correctement les informations. Je pense aussi que je ne devrais pas répéter le script chaque fois que cette vue partielle est chargée. . . Alors, comment écrirais-je le script jQuery approprié qui ferait ce qui suit lorsque l’utilisateur clique sur l’un des liens Get Partial View :

  • récupère l’id du div parent du lien ( @ModelName )
  • utiliser cet identifiant pour appeler mon Action: @Url.Action("ProductList", "Product", new {category = **that id**})";
  • Ajouter la vue partielle renvoyée par cette action à un div avec l’id de divResult qui se trouve dans le div parent. Nous avons trouvé deux étapes au-dessus de cette étape.

Mettre à jour

Voici le code HTML de mon sharepoint vue:

 

Balls

Get Partial View function getView() { var $category = $(this).closest(".category"); var categoryName = $category.attr("id"); //var categoryName ="Balls"; $('.divResult').load("/Product/ProductList", {category: categoryName}); }

Drinks

Get Partial View function getView() { var $category = $(this).closest(".category"); var categoryName = $category.attr("id"); //var categoryName ="Balls"; $('.divResult').load("/Product/ProductList", {category: categoryName}); }

Si je passe manuellement la valeur de Balls à categoryName – Je peux recevoir des produits de la catégorie Balls , mais si j’utilise var categoryName = $(this).closest(".category").attr("id"); Je suis undefined .

Peut-être que voir le HTML aidera?