Bonjour
J'ai trois tables de données/Entities (ABRICOTS, BANANE, CITRON) dans le même model que j'ai crée...
Et j'ai une liste déroulante qui contient (A, B et C)
Ces trois tables s'affichent dans une seule vue comme suit :
Quand je sélectionne la valeur A j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table ABRICOTS
Ou
Quand je sélectionne la valeur B j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table BANANE
Ou
Quand je sélectionne la valeur C j'affiche en bas de ma liste déroulante (dans la même vue) les données de la table CITRON
Voila mon Model
Voila mon Controller
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public class FruitsViewModel { public List<Abricot> Abricots { get; set; } public List<Banane> Bananes { get; set; } public List<Citron> Citrons { get; set; } }
Voila ma vue Index
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public class SaisieReferentielController : Controller { public ActionResult Index() { var vm = new FruitsViewModel(); vm.Abricots = // Récupère les abricots depuis la base de données vm.Bananes = // Récupère les bananes depuis la base de données vm.Citrons = // Récupère les citrons depuis la base de données return View(vm); } public ActionResult Edit() { ??? return View(); } }
Ce que je veux faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 @model namespace de FruitsViewModel <select id="select"> <option>A</option> <option>B</option> <option>C</option> </select> @foreach(var abricot in Model.Abricots) { <div id="abricots"> <!-- Affiche les propriétés d'un abricot --> </div> } @foreach(var banane in Model.Bananes) { <div id="bananes"> <!-- Affiche les propriétés d'une banane --> </div> } @foreach(var citron in Model.Citrons) { <div id="citrons"> <!-- Affiche les propriétés d'un citron --> </div> } $("#select").change(function() { var $selectedItem = $(this).find(":selected"); // Obtient l'élément sélectionné if ($selectedItem != null) { var value = $selectedItem.val(); // Obtient la valeur de l'élément sélectionné if (value == "A") { $("#abricots").show(); $("#bananes").hide(); $("#citrons").hide(); } else if (value == "B") { $("#abricots").hide(); $("#bananes").show(); $("#citrons").hide(); } else if (value == "C") { $("#abricots").hide(); $("#bananes").hide(); $("#citrons").show(); } } });
C'est modifier et mettre a jour les donnéeS de la table que j'ai choisi d'afficher dans la liste déroulante
Merci pour votre aide
Partager