OVH Cloud OVH Cloud

optgroup

3 réponses
Avatar
Saad
Bonjour,

Je remplie un <select> par javascript

for (var i=0; i<=str.length-1; i++)
{
v_select=str[i].split("_");
var o=new Option(v_select[1], v_select[0]);

liste.options[liste.options.length]=o;
}


y'a t'il un moyen de créer aussi des <optgroup> ?


merci

3 réponses

Avatar
ASM
Bonjour,

Je remplie un <select> par javascript

for (var i=0; i<=str.length-1; i++)
{
v_select=str[i].split("_");
var o=new Option(v_select[1], v_select[0]);

liste.options[liste.options.length]=o;
}


y'a t'il un moyen de créer aussi des <optgroup> ?


No sé
Je bricolerais un truc du genre :

var opg = document.createElement('OPTGROUP');
opg.label = 'Fruits';
for(var i=3;i<9;i++) {
var v_select = str[i].split("_");
var o=new Option(v_select[1], v_select[0]);
opt.appendChild(o);
liste.options.length++;
}
liste.appendChild(opg);


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Saad
Bonjour,

Je remplie un <select> par javascript

for (var i=0; i<=str.length-1; i++)
{
v_select=str[i].split("_");
var o=new Option(v_select[1], v_select[0]);

liste.options[liste.options.length]=o;
}


y'a t'il un moyen de créer aussi des <optgroup> ?


No sé
Je bricolerais un truc du genre :

var opg = document.createElement('OPTGROUP');
opg.label = 'Fruits';
for(var i=3;i<9;i++) {
var v_select = str[i].split("_");
var o=new Option(v_select[1], v_select[0]);
opt.appendChild(o);
liste.options.length++;
}
liste.appendChild(opg);




merci,

j'ai fais comme ceci
"je ne connaissais pas appendChild"

var opg = document.createElement('OPTGROUP');
opg.label = 'Fruits';
liste.appendChild(opg);

for(var i=3;i<9;i++)
{
var v_select = str[i].split("_");
var o=new Option(v_select[1], v_select[0]);

liste.options.length++;
}

j'ai retirer le appendChild de la boucle et mis celui du bas en haut

Reste un problème, comme le supprimer maintenant.

Pour vider mon select, je fais liste.options.length=0; mais le optgroup
reste là


merci encore


Avatar
ASM

j'ai retirer le appendChild de la boucle et mis celui du bas en haut


oui, j'ai regardé de mon côté et vu ça.

Reste un problème, comme le supprimer maintenant.

Pour vider mon select, je fais liste.options.length=0; mais le optgroup
reste là


Tu aurais demandé 'appendChid' à Google il aurait été ravi de
t'aiguiller sur qques sites parlant des fonctions JavaScript liées au DOM.
C'est passionnant.


var cible = document.forms['monForm'].maListe;
while (cible.hasChildNodes()) {
cible.removeChild(cible.lastChild);
}

devrait(*) te vider ton select 'maListe' de tout ce qu'il y a dedans,
options compris, d'1 coup d'1 seul.

http://fr.selfhtml.org/javascript/objets/node.htm
http://fr.selfhtml.org/javascript/objets/node.htm#has_child_nodes


(*) non vérifié (en particulier : maListe.length>0? )

gadget (brouillon pour m'entrainer, et pas fini) :
http://perso.wanadoo.fr/stephane.moriaux/truc/jouer_avec_divs

--
Stephane Moriaux et son [moins] vieux Mac