MVC3 Cascading DropDownList
Salut,
Dans mon appli', j'ai une page d'analyse qui sert à afficher les logs de différentes applis, on m'a donc demandé de réaliser des listes déroulantes permettant d'afficher selon certains critères cette page de Logs.
Le problème, c'est que j'ai deux listes déroulantes :
- la première qui sert à choisir l'application
- et la deuxième qui me sert à choisir la période d'affichage des logs pour l'appli sélectionnée.
Et c'est sur le deuxième point que je bloque, chaque application possède des types de périodes différentes, par exemple l'application 1 aura des logs mensuels, dans la liste, j'aurais donc : Janvier 2012, Février 2012, etc... tandis que l'application 2 aura des logs journaliers, mensuels et semestriels mais j'ai un peu de mal à voir comment le faire.
J'ai fait quelques recherches et j'ai pu voir qu'il fallait utiliser du Javascript mais je ne suis pas du tout calé dans ce langage, j'ai essayé un script que j'ai récupéré sur un site mais bon, il ne fonctionne pas ;D
Le voici avec mes listes dans ma vue :
Code:
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
|
@using (Html.BeginForm("PageErreurs", "Suivi", new { Timing = "KO" }))
{
@Html.ListBox("SubCR", ViewBag.Liste1 as MultiSelectList, new { size = 5 })
<script type="text/javascript">
$(function () {
$("SubAppli").change(function (evt) {
if ($("SubAppli").val() != "-1") {
$.ajax({
url: "/Suivi/PageErreurs",
type: 'POST',
data: { ChoixAppli: $("SubAppli").val() },
success: function (response) {
$("SubPeriode").replaceWith(response)
},
error: function (xhr) {
alert("Erreur au niveau des listes et du JS !");
}
});
}
});
});
</script>
@Html.ListBox("SubAppli", ViewBag.Liste2 as MultiSelectList)
@Html.ListBox("SubPeriode", ViewBag.Liste3 as MultiSelectList)
<input id="Submit1" type="submit" value="Valider" class="bt_submit"/>
} |
Et je récupère la variable qui est normalement renvoyée à mon action afin d'afficher ce que je souhaite et récupérée par celle-ci :
Code:
1 2
|
public ActionResult PageErreurs(string Timing, string[] SubCR, string[] SubAppli, string ChoixAppli) |
Et ensuite, j'utilise le contenu de cette variable pour alimenter ma liste en fonction de celle-ci avec une requête.
J'ai essayé d'exécuter ce script mais rien à faire, il ne se passe rien :/
Avez-vous une idée ?
Merci.
P.S : Si jamais, j'ai besoin d'installer des packages ou autres, ce n'est pas possible, l'accès Internet est bloqué sur mon serveur de Dev'.