[DOM] Ajout d'option dans un select : sous IE6
Salut tout le monde,
IE6 me cause des problème :
J'ai deux champs de type select dans ma page. Le premier sert a choisir une région et la deuxième a choisir une ville.
Lorsqu'une personne choisit une région, je remplis le select des villes avec les villes de la régions. Les données sont contenu dans deux tableau a 2 dimensions tabIdVille qui contient les identifiant unique de notre base de donné et tabNomVille qui contient les nom à afficher.
Tout fonctionne correctement le problème est lorsque je rentre en mode d'édition et que je raffiche les villes en sélectionnant la ville que la personne a sauvegardé. (le numéro de la ville pour la condition est donné en php)
Code:
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
|
function chargerVille(region){
var elSel = document.getElementById('Ville');
//Vider le select de ville
while(elSel.length > 0){
elSel.remove(elSel.length - 1);
}
//si une region est selectionné
if(region != 0){
for(i=0;i<tabIdVille[region].length;i++){
var elOptNew = document.createElement('option');
elOptNew.text = tabNomVille[region][i];
elOptNew.value = tabIdVille[region][i];
//Demande de selectionner la ville 219133
if(tabIdVille[region][i] == 219133){
elOptNew.selected = "selected";
//Pour testé la selection :
alert(i+" : "+elOptNew.value+" : "+elOptNew.text);
}
try {
elSel.add(elOptNew, null);
// standards compliant; doesn't work in IE
}
catch(ex) {
elSel.add(elOptNew); // IE only
}
}
}
} |
Le code fonctionne parfaitement pour tout les fureteur sauf IE6.
IE6 me donne les bonnes donnée dans le alert (la ville que je veut sélectionner et sont id) mais à l'affichage de la page, c'est toujours l'option précédente qui est affiché comme sélection. Donc si un client utilisant ie6 veut regarder sont profil, c'est toujours la mauvaise ville qui est selectionné, s'il ne porte pas attention, sa ville change à chaque fois qu'il sauvegarde sont profil.
Est-ce que quelqu'un aurait une idée comment corriger ce problème ?
Merci d'avance pour votre aide :D