Gérer les optgroup d'une liste déroulante

Soyez le premier à donner votre avis sur cette source.

Snippet vu 10 577 fois - Téléchargée 29 fois

Contenu du snippet

Deux fonctions qui permettent de gérer les optgroup d'une liste déroulante : suppression et ajout.

Source / Exemple :


function suppression_optgroup(id_du_optgroup)
{
  var ie = false; /*@cc_on ie = true; @*/ 
  var q=document.getElementById(id_du_optgroup);
    if (q)  
 {
  if ( ie ) {
      q.outerHTML=null;
     }
  else  {
      q.innerHTML=null;
      q.label=null;
     }
  }
}

function ajout_optgroup(mon_formulaire,ma_liste)
{
  objSelect=document.forms(mon_formulaire).elements(ma_liste);
  optGroup = document.createElement('optgroup')
  optGroup.label = "nom_du_optgroup"

  objOption1=document.createElement("option")
  objOption1.innerHTML = "nom_option1"
  objOption1.value = "valeur_option1"

  objOption2=document.createElement("option")
  objOption2.innerHTML = "nom_option2"
  objOption2.value = "valeur_option2"

  objSelect.appendChild(optGroup)
  optGroup.appendChild(objOption1)
  optGroup.appendChild(objOption2)
}

Conclusion :


Après une très longue et pénible recherche je me suis dis que ça pouvait bien servir à d'autre que moi...

A voir également

Ajouter un commentaire Commentaires
Messages postés
35
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
2 octobre 2008

Oui on peut faire beaucoup de remarque sur ton code...
évite q.outerHTML=null; utilise plutôt un removeChild.. (un Opera gérant l'html en xml (XHTML) ne va pas aimé.. )

Tu oublie var devant l'affection des variables ( tu peut les 'dispose') en finissant avec = null (pour éviter les fuites de mémoire..) et puis prends l'habitude de mettre des points virgule à la fin de tes lignes de JS... C'est quand même mieux :-)

10 types de personnes, les développeurs et les autres
Messages postés
197
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
29 avril 2009
2
yop , tu aurais du mettre un exemple concret :)
autre élément , pour l'ajout tu utilises les méthodes :
document.forms(mon_formulaire).elements(ma_liste)
alors que pour la suppression tu utilise un : ocument.getElementById ...

coordialement :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.