En utilisant ASP.Net MVC baseASP partielle sur les bas de chute sont en train de changer
Le site contient plusieurs menus déroulants contenant des hôtels, une fois que l'utilisateur sélectionne un hôtel un appel Ajax renvoie les chambres d'hôtel pour l'hôtel sélectionné. L'utilisateur peut sélectionner jusqu'à 10 combinaisons d'hôtels et de chambres d'hôtel, de sorte que chaque partie des listes déroulantes de l'hôtel et de la chambre d'hôtel affiche une vue partielle séparée.
Lorsque je sélectionne un hôtel parmi l'une des vues partielles, tous les hôtels déroulent dans le même hôtel.
Je pensais que c'était quelque chose dans mon javascript, donc j'ai commenté tous les javascript connexes, sauf pour l'appel d'obtenir des hôtels. Voici mon code:
Vue partielle
@model Cfv3.Models.Vacation.SelectHotelRoom
<select class="hotel-dropdown" name="hotel"></select>
<select class="hotelroom-dropdown" name="hotel"></select>
Appeler la vue
<div class="form-horizontal">
@for (int i = 0; i < Model.IncludedHotels.Count; i++)
{
@Html.Partial("_PossibleHotelRoom", Model.IncludedHotels[i])
<hr/>
}
</div>
A charge Ajax charge les hôtels
$.get('GetHotels', function (data) {
//console.log(data);
$.each(data, function (index, value) {
//console.log(value.id + " " + value.name)
$('<option>').val(value.id).text(value.name).appendTo('.hotel-dropdown');
});
});
'.appendTo ('. Hotel-dropdown')' va ajouter à * chaque * élément correspondant sur la page. Vous devez identifier spécifiquement celui auquel vous voulez ajouter. Dans quel contexte est '$ .get()' en cours d'exécution? Est-ce en réponse à un événement sur la page déclenché par un élément spécifique? Un tel élément pourrait être utilisé comme point de départ pour traverser le DOM avec jQuery afin d'identifier le menu déroulant spécifique que vous voulez. – David