IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

syntaxe d'un createElement('option').selected ?


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut syntaxe d'un createElement('option').selected ?
    Bonjour,

    Dans le chargement d'une boîte de sélection, je voudrais mettre l'option "selected" sur une ligne.

    Voici mon code :

    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
    var liste1 = xmlhttp.responseXML.getElementsByTagName('balise1');
          var liste2 = xmlhttp.responseXML.getElementsByTagName('balise2');
     
          var liste_select = document.getElementById(param2);
          var tmp = document.createElement('option');
    	  // On efface les lignes de la recherche précédentes
    	  var nombre=document.getElementById(param2).options.length;
     
          while(document.getElementById(param2).options.length > 0)
          {
             document.getElementById(param2).removeChild(document.getElementById(param2).options[0]);
          } 
         alert(param3.value);
     
    	  // On écrit les nouvelle lignes
          for(var i = 0, m = liste1.length; i < m; i++)
          {
             tmp.setAttribute('value', liste2[i].firstChild.nodeValue);
             tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
             liste_select.appendChild(tmp);
             tmp = tmp.cloneNode(false);
          }
     
          liste_select.disabled = false;
    Je veux plaer un test dans la boucle comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(liste1[i]==param3) selected;
    Mais je n'arrive pas à trouver la syntaxe

    Merci d'avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    en utilisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tmp.setAttribute('selected', 'selected');

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par coca25
    en utilisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tmp.setAttribute('selected', 'selected');
    Merci beaucoup.

    ce qui pourrait donner quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(liste1[i]==param3) tmp.setAttribute('selected', 'selected');
    Sauf que je compare des choux et des carottes

    liste[i] est un object Element
    param3 est un HTMLselectElement

    Donc je ne peux pas faire cette comparaison.

    Il faut que je la fasse dans mon ajax/php ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (liste2[i].firstChild.nodeValue == param3.value)
      tmp.setAttribute('selected', 'selected');

  5. #5
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par coca25
    tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (liste2[i].firstChild.nodeValue == param3.value)
      tmp.setAttribute('selected', 'selected');
    Tu n'est qu'un coca de 25, mais c'est exactement ça.

    J'ai juste rajouté un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp.removeAttribute('selected');
    dans ma boucle ce qui donne en final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(var i = 0, m = liste1.length; i < m; i++)
          {
             tmp.setAttribute('value', liste2[i].firstChild.nodeValue);
             tmp.removeAttribute('selected');
             if (liste2[i].firstChild.nodeValue == param3) tmp.setAttribute('selected', 'selected');
             tmp.appendChild(document.createTextNode(liste1[i].firstChild.nodeValue));
             liste_select.appendChild(tmp);
             tmp = tmp.cloneNode(false);
          }
    Merci beaucoup et à ta santé

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Par défaut
    je t'en prie

  7. #7
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Attention selected n'est pas suffisant pour être cross browser il faut aussi mettre defaultselected

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Syntaxe CREATE Table et option "Chaine vide au
    Par leteltel dans le forum Access
    Réponses: 2
    Dernier message: 10/02/2006, 17h31
  2. Réponses: 7
    Dernier message: 10/01/2006, 10h27
  3. [JSP]Erreur de syntaxe dans un tag <option select
    Par logica dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 03/05/2005, 14h33
  4. Réponses: 8
    Dernier message: 05/05/2004, 16h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo