Cherche fonction ou script pour gérer la balise optgroup

Résolu
tithom1334 Messages postés 5 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 1 avril 2006 - 1 avril 2006 à 16:12
tithom1334 Messages postés 5 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 1 avril 2006 - 1 avril 2006 à 20:04
Bonjour à tous,

Je suis quasi débutant en javascript mais je sais comprendre un code même si je ne sais pas trop programmer et généralement je sais me débrouiller avec des exemples de script... mais la je sèche...
Je cherche désespérement à agir sur la balise <OPTGROUP> à l'aide d'un script ou d'une fonction javascript.

J'ai déjà tenté des choses en utilisant : document.getElementById("optgroup_de_mon_choix").innerHTML et document.getElementById("optgroup_de_mon_choix").label mais sans succés... J'ai réussi à supprimer le contenu du optgroup mais pas son label et réussi à changer le label mais pas à supprimer le optgroup lui même...

Pour être plus clair, je joint un exemple de ce que j'ai voulu faire. J'ai repris le tuto http://robloche.free.fr/javascript/tuto_xhr/tuto_xhr.html#section_05 qui consiste à filtrer le contenu d'une liste déroulant (liste2) en fonction du choix fait dans une première liste déroulante (liste1) grâce à l'objet XMLHTTPRequest et une requete à une base de données dans un script php. J'ai adapter ce tuto à mes besoins et parce que ma liste2 est très grande j'ai ajouté des optgroup pour que ce soit plus lisible :



lorsque je "filtre" le contenu de la liste2 à l'aide du javascript et du script php voila ce que j'obtiens :




Comme vous pouvez le voir les options s'ajoute à la fin de la liste et les optgroup restent présents ce qui n'est pas très propre à mon goût...

Je cherche donc, pour la liste2, le moyen de supprimer les optgoup après filtrage ou d'insérer les options voulues dans le bon optgroup (optgroup "canidés" pour cette exemple) en javasript biensûr.

Je ne pense pas que de mettre tout mon script avancerait à quelque chose, c'est ni plus ni moins celui du tuto cité. Juste pour info, je demande au script php de retourner le script suivant :
var s = document.forms[mon_formulaire].elements[liste2];
s.options.length = 0;
et pour chaque i de resultat_de_ma_requete (boucle while) :
s.options[s.options.length] = new Option("resultat_de_ma_requete_i");

J'espère avoir été suffisement clair dans mes explications et que vous pourrez m'apporter un élément de réponse. Je remercie tout le monde d'avance très vivement.

2 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 avril 2006 à 17:20
je n'ai pas très bien compris cette histoire de filtrage
ni se qu'on obtient, ni où c'est affiché : dans un nouveau select ?
dans le 2ème ?
et l'aspect de ces listes n'est pas rendu ici, donc...

en attendant ci-dessous une manière de sucrer un optgroup
et ce qu'il contient :
( outerHTML ne semble pas fonctionner avec FF ou je fais une bourde ?
j'ai donc fait une séquence pour lui )
on peut utiliser Text à la place de HTML je pense.

<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">


var ie = false;
3
tithom1334 Messages postés 5 Date d'inscription jeudi 23 mars 2006 Statut Membre Dernière intervention 1 avril 2006
1 avril 2006 à 20:04
Merci...

Trop cool... c'est juste ce que je voulais... MERCI BEAUCOUP...

A bientôt.
0
Rejoignez-nous