Bonjour,
Quelqu'un sait comment on ajoute /modifie les options dans un select?
Je sais recupere la valeur du select mais pas ca.
Merci,
Bonjour,
Quelqu'un sait comment on ajoute /modifie les options dans un select?
Je sais recupere la valeur du select mais pas ca.
Merci,
Moi j'utilise ces deux fonctions qui me permettent de supprimer et ajouter des options à volonté dans un select :
J'espère que ça t'aideras...
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 function insertOptionBefore(champReference,num,valeur,text) { var elOptNew = document.createElement('option'); elOptNew.text = text; elOptNew.value = valeur; var elOptOld = champReference.options[0]; try { champReference.add(elOptNew, elOptOld); } catch(ex) { champReference.add(elOptNew,0); // IE } } function removeOption(champReference,index) { champReference.remove(index); }
Salut,
alors si j'ai bien compris:
champReference = l'id ou name du select
num = ??
valeur = la valeur qui prendra l'option
text = text a afficher
try = pour les nav standart
catch = pour IE -> pourquoi un "0" dans les parenthese?
je vais tester ca
Oui c'est çaEnvoyé par shinrei
Oui je viens de m'apercevoir que num ne sert à rien...Envoyé par shinrei
![]()
C'est ça!Envoyé par shinrei
Ca c'est la vie...Envoyé par shinrei
![]()
Si ca me reviens!
num c'est pour remplacer le 0 justement
C'est parce que moi je n'utilise cette fonction que pour insérer en tete de liste
C'est l'indice dans la liste avant lequel tu veux insérer ton option en fait
C'est bon ca marche mais:
je n'arrive à recupere le nombre d'element et ainsi supprimer ses options avant d'ajouter
Je crois que j'utilise mal le lenght non?else {
alert(document.getElementById('typeId').lenght);
//OU
alert(typeId.lenght);
for (i=0;i<3;++i) {
removeOption(typeId,i);
}
}
Ca m'affiche 2 fois undefined
EDIT:
Bon ca marche un peu mieux mais (encore).
Ca marche qu'une fois?????si je change une 2eme fois la selection de ItypeId , je ne change pas l'autre (typeId)
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
45
46
47
48
49
50
51 function insertOptionBefore(champReference,valeur,text) { var elOptNew = document.createElement('option'); elOptNew.text = text; elOptNew.value = valeur; var elOptOld = champReference.options[0]; try { champReference.add(elOptNew, elOptOld); } catch(ex) { champReference.add(elOptNew,0); // IE } } function removeOption(champReference,index) { alert('le champs '+ champReference.option[index] +' va disparaitre'); champReference.remove(index); } function populateTypeList (ItypeId) { if (ItypeId.value == 'Goods Sup.'){ var max = document.supcreate.typeId.length; for (i=1;i<=max;++i) { removeOption(typeId,i); } insertOptionBefore(typeId,'',''); insertOptionBefore(typeId,'Agent','Agent'); insertOptionBefore(typeId,'Manufacturer','Manufacturer'); insertOptionBefore(typeId,'Trader','Trader'); alert(document.supcreate.typeId.length); } else if (ItypeId.value == 'Service Sup.'){ var max = document.supcreate.typeId.length; for (i=1;i<=max;++i) { removeOption(typeId,i); } insertOptionBefore(typeId,'',''); insertOptionBefore(typeId,'Carrier','Carrier'); insertOptionBefore(typeId,'Hub / Forwader','Hub / Forwader'); alert(document.supcreate.typeId.length); } else { var max = document.supcreate.typeId.length; for (i=1;i<=max;++i) { removeOption(typeId,i); } alert(document.supcreate.typeId.length); } }
Partager