Modification d'une ListBoxFor en javascript non pris en compte coté serveur
Bonjour,
J'ai un souci sur un formulaire MVC
J'ai une listeBoxFor pour laquelle j'affecte des valeur en javascript:
Code HTML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
@using (Ajax.BeginForm("FiltreRapport", null, new AjaxOptions { AllowCache = false, UpdateTargetId = "ResultsList" }, new { @id = "FiltreAnalyse" }))
{
<div class="input-group col-sm-3" id="lstClientValue">
@Html.ListBoxFor(model => Model.lstIdClient, Model.lstClient, new { @id = "cboLstClient", @class = "form-control" })
<span class="input-group-addon input-group-addon-SelectItem">
<a id="PopUpClientAdd" data-toggle="modal" data-target="#modalClientAdd">
<span class="glyphicon glyphicon-plus glyphiconWhite"></span>
</a>
</span>
<span class="input-group-addon input-group-addon-SelectItem">
<a id="linkClientDel">
<span class="glyphicon glyphicon-minus glyphiconWhite"></span>
</a>
</span>
</div>
<div class="col-sm-12 text-center">
<input type="submit" value="@Resources.Resources.FILTRER" class="btn action" style="margin-top: 20px;" id="btnSearch" />
</div>
} |
Code JS:
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
|
//Affectation des valeur sélectionnée au champs voulut
function AffValueClient(client, idClient) {
//ON vérifie en premier si l'enregistrement n'est pas déjà présent dans la liste
var result = false;
var ddl = document.getElementById('cboLstClient');
//on parcour les élément de notre liste et on vérifie que ce ne soit pas déjà dedans
for (i = 0; i < ddl.options.length; i++) {
if (ddl.options[i].value == idClient) {
result = true;
}
}
//Si ce n'est pas présent, on l'ajoute
if (!result) {
$('<option>',
{
value: idClient,
title: client,
text: client
}).appendTo('#cboLstClient');
}
} |
Dans le HTML, quand je clic sur le +, une pop up s'affiche et me liste les client. Quand je clic sur un client, cela me l'affecte a ma liste. Tout ceci fonctionne.
Sauf au moment de cliquer sur le bouton de filtre, ce que je récupère dans le code C# est correct sauf pour cette listbox qui est a l'état précédent connu du serveur. Il n'a pas eu les modification effectué coté client!
Tout les autres filtre fonctionne (je les ai enlevé du code pour simplifier)