Ajouter des Options dans un Select

Mammouth du PHP | 959 Messages

22 sept. 2008, 22:49

Bonsoir,

J'ai un problème lors de l'ajout de
<option ...>...</option>
dans un select

Évidemment, ça marche très bien avec Firefox, mais ça marche pas avec IE, comme si il ajoute rien

voici comment je procède :
for( var i=0; i<=modeles.length; i++ ){
			document.getElementById('monselect').innerHTML += '<option value="'+modeles[i]+'">'+modeles[i]+'</option>';
}
IE vide complètement le select...
Il y a t-il une autre méthode pour ajouter des options à un select ?

Merci de votre aide !

ViPHP
ViPHP | 3607 Messages

22 sept. 2008, 23:35

et comme ça:

Code : Tout sélectionner

elmt=document.getElementById('monselect'); elmt.innerHTML=elmt.innerHTML + '<option value="'+modeles[i]+'">'+modeles[i]+'</option>';
?
sinon regarde de ce côté là: http://www.pompage.net/pompe/javascript ... hapitre-3/

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 sept. 2008, 10:07


/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 2937 Messages

23 sept. 2008, 13:46

Et pourquoi ne pas explorer le DOM, avec les méthodes createElement (), createNodeText () et appendChild () ? ;)

ViPHP
ViPHP | 3607 Messages

23 sept. 2008, 16:07

... je l'avais déjà dis dans ma deuxième solution... |(X

Mammouth du PHP | 959 Messages

23 sept. 2008, 19:02

Merci ! ça marche super bien avec new Option
Maintenant, un dernier petit problème, c'est qu'avec new Option, on peu pas définir si l'option est disabled ou pas... (dans mon cas je veux désactiver l'utilisation du PREMIER option, donc avec la clé 0...)
J'ai essayé ça :
modele.options[0].setAttribute('disabled','disabled');
Vous connaissez très bien cette phrase, et moi aussi : ça marche sous Firefox mais pas avec IE.... :roll:
Une solution ? :)

Merci à vous !

ViPHP
ViPHP | 3607 Messages

23 sept. 2008, 19:08

Avec le DOM, tu as la fonction setAttribute(), qui pourrait t'aider, mais apparement, tu nous snobs... :roll:

Mammouth du PHP | 959 Messages

23 sept. 2008, 19:16

Me suis fais une fausse joix...
En réfléchissant, je me rappelais de cette méthode
modele.options[0].disabled = true;
En pense que là, pas possible que ça marche pas... et pourtant....
Ça marche sous Firefox mais pas sous IE..... :roll:

Merci de votre aide ! :)

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

23 sept. 2008, 23:20

Essaye :
modele.options[0].disabled = 'disabled';
Mais je pense que sous IE ceci n'est possible qu'avant la première utilisation de la liste.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 959 Messages

24 sept. 2008, 13:26

Ça marche sous Firefox mais pas sous IE :roll:

Merci de vos idées !

EDIT: déjà, si je fais

Code : Tout sélectionner

<select> <option disabled="disabled">valeur 1</option> <option>valeur 2</option> <option>valeur 3</option> </select>
bah ça marche pas -_-'
Ça veut dire que le disabled sur un option ça marche pas sous ie.... :roll: :roll:
Y'en a qui on une astuce ? une idée ?