Bonjour
la sélection classique dans un select lorsque l'option multiple est sélectionnée ne me convient pas !!!
j'imagine que je ne suis pas le seul, en référence au nombre d'exemples existants sous jquery, bootstrap & autres
pour ma part je trouve cela quelque fois bien lourd et nécessitant plusieurs dizaines de koctets de scripte et de css...
j'ai construit cet exemple avec un peu de javascript
j'aimerais améliorer les points suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38
39
40
41
42
43
44 <!DOCTYPE html> <html> <head> </head> <body> <script> function selfocused(selobj){ selobj.size = '10'; } function selblured(selobj){ selobj.size = '1'; } function selchanged(selobj){ var slist = ''; var ii; for (ii=0; ii < selobj.length; ii++) { if (selobj[ii].selected) { if (slist != '') slist = slist + ';' ; slist = slist + selobj[ii].value; } document.getElementById('x2').value = slist; } } </script> <input id="x1" style='width:250px'></input><br/> <select id='sel' onfocus='selfocused(this);' onblur='selblured(this);' onchange='selchanged(this);' size='1' multiple='multiple' style='width:250px'> <option value="v0">Value 0</option> <option value="v1">Value 1</option> <option value="v2">Value 2</option> <option value="v3">Value 3</option> <option value="v4">Value 4</option> <option value="v5">Value 5</option> <option value="v6">Value 6</option> <option value="v7">Value 7</option> </select><br/> <input id="x2" style='width:250px'></input><br/> </select> </div> </body> </html>
** je pense qu'on peut éviter de forcer le maintien de <ctrl> ou <shift> pour permettre le choix multiple
mon idée est d'ajouter un attribut nommé par exemple "data-tag" pour mémoriser la sélection en cours...
** un grand plus serait de pouvoir afficher un résultat explicite après l'action onblur
** le nec plus ultra serait d'obtenir un comportement similaire à un select à choix simple
ou la liste affichée vient en superposition des autres champs présentés à l'écran
je pense qu'on peut y arriver avec un iframe placé dynamiquement au dessus du select
mais je n'ai pas toutes les réponses à mes questions...
Merci d'avance pour toute idée pour ces sujets
Partager