J'ai un <select multiple='multiple'
et je dois afficher la valeur sélectionnée dans un div ou une autre partie de la page.
Je l'ai fait, mais la chaîne est complètement brulée. Comment puis-je séparer chaque valeur par une virgule?
J'ai fait un exemple en direct avec ce que j'ai jusqu'ici.
Ou si vous préférez, voici le code:
Html:
<select multiple='multiple' id="selMulti"> <option value="1">Option 1</option> <option value="2">Option 2</option> <option value="3">Option 3</option> <option value="4">Option 4</option> </select> <input type="button" id="go" value="Go!" /> <div style="margin-top: 10px;" id="result"></div>
Js:
$("#go").click(function(){ var selMulti = $("#selMulti option:selected").text(); $("#result").text(selMulti); });
Si vous sélectionnez les options 1 et 2, le résultat sera:
Option 1Option 2
Ce dont j'ai besoin, c'est:
Option 1, Option 2
Merci
Vous devez mapper les éléments à un tableau et ensuite les rejoindre:
$("#go").click(function(){ var selMulti = $.map($("#selMulti option:selected"), function (el, i) { return $(el).text(); }); $("#result").text(selMulti.join(", ")); });
Démonstration de travail: http://jsfiddle.net/AcfUz/
$("#go").click(function(){ var textToAppend = ""; var selMulti = $("#selMulti option:selected").each(function(){ textToAppend += (textToAppend == "") ? "" : ","; textToAppend += $(this).text(); }); $("#result").html(textToAppend); });