J'ai une sélection multiple:
<select name='strings' id="strings" multiple style="width:100px;">
<option value="Test">Test</option>
<option value="Prof">Prof</option>
<option value="Live">Live</option>
<option value="Off">Off</option>
<option value="On">On</option>
</select>
Je charge les données de ma base de données. Ensuite, j'ai une chaîne comme celle-ci:
var values="Test,Prof,Off";
Comment puis-je définir ces valeurs dans la sélection multiple? J'ai déjà essayé de changer la chaîne dans un tableau et de la mettre comme valeur dans le multiple, mais ne fonctionne pas ...! Quelqu'un peut il m'aider avec ça? MERCI!!!
javascript
jquery
multiple-select
Zwen2012
la source
la source
$('#strings').val(values.split(','))
. Sans jQuery, Plain Old Javascript de ŁukaszW.pldocument.getElementById('strings').value = ["Test", "Prof", "Off"]
accomplit également dans un one-linerdans jQuery:
ou en pur JavaScript:
jQuery fait ici une abstraction significative.
la source
Fournissez simplement la fonction jQuery val avec un tableau de valeurs:
Et pour obtenir les valeurs sélectionnées dans le même format:
la source
Solution pure JavaScript ES6
querySelectorAll
fonction et divisez lavalues
chaîne.Array#forEach
pour parcourir chaque élément duvalues
tableau.Array#find
pour trouver l'option correspondant à la valeur donnée.selected
attribut surtrue
.Remarque :
Array#from
transforme un semblable à un tableau objet dans un tableau et vous êtes en mesure d'utiliser desArray.prototype
fonctions sur elle, comme trouver ou carte .la source
En gros, faites une
values.split(',')
boucle, puis parcourez le tableau résultant et définissez Select.la source
Solution pure JavaScript ES5
Pour une raison quelconque, vous n'utilisez pas jQuery ni ES6? Cela pourrait vous aider:
la source
la source
c'est une erreur dans certaines réponses pour remplacer |
cette correction est correcte mais le | En fin de compte, cela devrait ressembler à ceci \ |
la source