Hallo,
Ik ben bezig om een crosselect iets inzichtelijker te maken met optgroups, je weet wel:
Nu weet ik wel hoe ik dit dynamisch kan aanmaken:
Maar nu is alleen het uitlezen een probleem, omdat die niet in myselect.options.length uit te lezen zijn.
Het probleem is namelijk dat na een actie in de crosselect de hele lijst wordt uitgelezen, het verplaatste option wordt verwijderd, en de lijst weer wordt opgebouwd. Hierbij blijven de optgroups gewoon staan en worden de options allemaal onderaan erin gezet.
De aanpak is dus de options per optgroup uit te lezen, maar de hamvraag is dus hoe? GOT search en Google bieden mij nog geen uitkomst.
Ik ben bezig om een crosselect iets inzichtelijker te maken met optgroups, je weet wel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
| <SELECT>
<OPTGROUP LABEL="Alkaline Metals">
<OPTION>Lithium (Li)</OPTION>
<OPTION>Sodium (Na)</OPTION>
<OPTION>Potassium (K)</OPTION>
</OPTGROUP>
<OPTGROUP LABEL="Halogens">
<OPTION>Fluorine (F)</OPTION>
<OPTION>Chlorine (Cl)</OPTION>
<OPTION>Bromine (Br)</OPTION>
</OPTGROUP>
</SELECT> |
Nu weet ik wel hoe ik dit dynamisch kan aanmaken:
code:
1
2
3
| var optGroup = document.createElement('optgroup');
optGroup.label = 'dynamisch label';
myselect.appendChild(optGroup); |
Maar nu is alleen het uitlezen een probleem, omdat die niet in myselect.options.length uit te lezen zijn.
Het probleem is namelijk dat na een actie in de crosselect de hele lijst wordt uitgelezen, het verplaatste option wordt verwijderd, en de lijst weer wordt opgebouwd. Hierbij blijven de optgroups gewoon staan en worden de options allemaal onderaan erin gezet.
De aanpak is dus de options per optgroup uit te lezen, maar de hamvraag is dus hoe? GOT search en Google bieden mij nog geen uitkomst.