web-dev-qa-db-fra.com

<SELECT multiple> - comment autoriser un seul élément sélectionné?

J'ai un <SELECT multiple> champ avec plusieurs options et je souhaite lui permettre de ne sélectionner qu’une seule option à la fois, mais l’utilisateur peut maintenir la touche CTRL enfoncée et sélectionner plusieurs éléments à la fois.

Y a-t-il un moyen de le faire? (Je ne veux pas enlever 'multiple').

129
simPod

Il suffit de ne pas en faire un multiple de sélection, mais de lui attribuer une taille, telle que:

  <select name="user" id="userID" size="3">
    <option>John</option>
    <option>Paul</option>
    <option>Ringo</option>
    <option>George</option>
  </select>

Exemple de travail: https://jsfiddle.net/q2vo8nge/

268
Marcos Placona

Si l'utilisateur ne doit sélectionner qu'une seule option à la fois, supprimez simplement le "multiple" - effectuez une sélection normale:

  <select name="mySelect" size="3">
     <option>Foo</option>
     <option>Bar</option>
     <option>Foo Bar</option>
     <option>Bar Foo</option>
  </select>

violon

24
MacGucky

Pourquoi ne voulez-vous pas supprimer l'attribut multiple? Le but de cet attribut est de spécifier au navigateur que plusieurs valeurs peuvent être sélectionnées dans l'élément select donné. Si vous ne devez sélectionner qu'une seule valeur, supprimez l'attribut pour que le navigateur sache qu'il ne permet qu'une seule sélection.

Utilisez les outils que vous avez, c'est à quoi ils servent.

9
David

J'ai eu quelques relations avec le select\multi-select c'est ce qui a fait le tour pour moi

<select name="mySelect" multiple="multiple">
    <option>Foo</option>
    <option>Bar</option>
    <option>Foo Bar</option>
    <option>Bar Foo</option>
</select>
1
Ewan
<select name="flowers" size="5" style="height:200px">
 <option value="1">Rose</option>
 <option value="2">Tulip</option>
</select>

Cette solution simple permet d’obtenir visuellement une liste d’options, mais de ne pouvoir en sélectionner qu’une.

1
Ste

Vous voulez une seule option par défaut, mais l'utilisateur peut sélectionner plusieurs options en appuyant sur la touche CTRL. C’est (déjà) exactement comment le multiple de SELECT doit se comporter.

Voir ceci: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple

Pouvez-vous clarifier votre question?

1
Cogicero

Je viens ici après avoir cherché google et changé de chose chez moi.

Donc, je viens de changer cet exemple et cela fonctionnera avec jquery au moment de l'exécution.

$('select[name*="homepage_select"]').removeAttr('multiple')

http://jsfiddle.net/ajayendra2707/ejkxgy1p/5/

1
Ajay2707