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 :

Champ caché dans liste déroulante


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut Champ caché dans liste déroulante
    Bonjour,

    J'ai une liste déroulante chargée par une requête SQL. La liste déroulante doit être dynamique (utilisation de Javascript).
    Je voudrais cacher dans ma liste certains champs ne répondant pas au critère.

    J'avais penser à un avec x ma liste déroulante. Mais je ne dois pas supprimer un champ car cela nécessiterait de reconstruire la liste via la requête (ce qui n'est pas possible dans le cahier des charges).

    J'ai pensait ensuite à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    x.option[i].disabled=true
    mais le champ est encore visible (mais non sélectionnable).

    Je voudrais donc un attribut qui me permettrait de rendre invisible sans supprimer un champ (comme le hidden dans le input text)

    merci

  2. #2
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 648
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    Mais je ne dois pas supprimer un champ car cela nécessiterait de reconstruire la liste via la requête (ce qui n'est pas possible dans le cahier des charges).

    J'ai pensait ensuite à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    x.option[i].disabled=true
    mais le champ est encore visible (mais non sélectionnable).

    Je voudrais donc un attribut qui me permettrait de rendre invisible sans supprimer un champ (comme le hidden dans le input text)
    à ma connaissance il n'est pas possible de mettre des champs invisibles dans une liste. Par ailleurs je crois que l'option disabled ne fonctionne pas avec tous les navigateurs.

    Peux-tu enregister le résultat de ta requête dans un tableau ? Celui-ci contiendrait tous les éléments de la liste.
    Puis construis ta liste à partir de ce tableau : si l'élement n correspond à tes critères ajoute le dans ton select. Et si tu dois mettre à jour ta liste (ajouter ou supprimer une option) utilise le contenu du tableau (tu ne fais pas de nouvelle requête).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Points : 129
    Points
    129
    Par défaut
    Salut,

    Essais toujours ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomSelect.options[index] = null
    Question ???
    Tu récupères tes données via SQL, n'est il pas possible de faire ta sélection sur critères à ce moment ?
    Avec PHP ou autre chose que JS ?
    "Il n'y a ni gagnant ni perdant, juste des joueurs ..."

    Pensez, si vous le pouvez encore, au tag RESOLU
    Nb: Note à moi même, ne l'oublis pas sinon tu vas te faire traiter

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Mon projet est en struts java. Je ne connais pas cette technologie donc j'essaie de me débrouiller.

    En fait lors du lancement de ma page (jsp), on fait appel à un bean qui remplit le formulaire (dont ma liste déroulante). Ensuite je dois utiliser un javascript faire une aide à la saisie dans cette liste qui peut contenir un nombre infini d'éléments.
    Le fait de cacher certains champs qui ne contiennent pas une sous-chaîne permettrait de diminuer considérablement la taille de la liste chaînée.

    Donc voila le disabled était nickel (seul les champs intéressants sont sélectionnables) mais n'apporte pas le résultat demandé(une diminution "visible" de la liste)
    Le php n'est pas autorisé dans mon projet (je dois respecter l'existant )
    Donc voila

  5. #5
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    et avec de l'AJAX ?

    je déplace ca dans le forum javascript, ca n'a rien à voir avec du HTML

  6. #6
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Essaie d'adapter ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var opt = select.getElementsByTagName("option")[indexOption]
    opt.style.display = (opt.style.display=="none")?"block":"none"
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2004
    Messages : 30
    Points : 25
    Points
    25
    Par défaut
    Bonjour,

    En fait j'ai touvé une solution.
    Ma liste étant chargé au lancement de la page. Je crée un script javascript qui remplit un tableau avec le contenu complet de la liste. Ce tableau reste en mémoire.
    Une fois que je remplit mon champ texte pour effectuer la sélection. Je vide ma liste, je teste le champTexte avec chaque valeur du tableau. Si la valeur du tableau est OK, je construis dans ma liste déroulante un new Option() avec cette valeur.
    Au final seul, les valeurs dont j'ai besoin sont présentes.

    Voila

  8. #8
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 289
    Points
    3 289
    Par défaut
    Sinon, voici un lien qui pourrait t'intéresser...

    Adaptive Select
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

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

Discussions similaires

  1. interdire champ vide dans liste déroulante
    Par ddracoon dans le forum IHM
    Réponses: 7
    Dernier message: 22/08/2022, 14h04
  2. [MySQL] Récupération tronquée champ Mysql dans liste déroulante
    Par jlbrenas dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 30/03/2010, 17h58
  3. Réponses: 4
    Dernier message: 23/07/2009, 13h06
  4. Réponses: 2
    Dernier message: 03/12/2007, 09h57
  5. mettre par défaut un champ dans liste déroulante
    Par zouzou1010 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 09/05/2006, 14h12

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