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 :

Récupérer le premier élément <OPTION> affiché dans un <SELECT>


Sujet :

JavaScript

  1. #1
    Membre régulier
    Homme Profil pro
    Aucun
    Inscrit en
    Avril 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Avril 2008
    Messages : 78
    Points : 79
    Points
    79
    Par défaut Récupérer le premier élément <OPTION> affiché dans un <SELECT>
    Bonjour à tous,
    Je dois afficher une très grande liste de mots (plus de 400 000 !).
    Puisqu'il n'est pas possible de la charger en une fois dans un élément html <SELECT>, je souhaite le faire en fonction de la position des mots visibles. Par exemple, initialement, je chargerai les 100 premiers mots. Si l'utilisateur fait défiler la liste jusqu'à afficher ceux dont l'indice est >75, je lancerai le chargement des 50 suivants en supprimant les 50 premiers.
    En fait, il s'agit de déplacer un curseur. Ce comportement consiste en un chargement paresseux !
    Est-ce-que le problème est bien posé ?

    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    peut-être que ça serait plus facile pour les utilisateurs si vous mettez un système d'autocomplétion ?
    https://jqueryui.com/autocomplete/

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    En principe c'est un comportement par défaut du select, il affiche les mots commençant par lors de la frappe ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre régulier
    Homme Profil pro
    Aucun
    Inscrit en
    Avril 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Avril 2008
    Messages : 78
    Points : 79
    Points
    79
    Par défaut
    @mathieu
    Oui, c'est une bonne idée.
    Je commence par afficher les 100 premiers et je filtre avec une zone de texte.
    @SpaceFrog
    Désolé, je ne comprend pas.

    EDIT: Les mots sont obtenus par une extraction SQL (SQLite)

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    http://jsfiddle.net/L36y1r9e/5/

    donne le focus au select et tapes un nom de pays ...

    [edit] tri ajouté ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre régulier
    Homme Profil pro
    Aucun
    Inscrit en
    Avril 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Avril 2008
    Messages : 78
    Points : 79
    Points
    79
    Par défaut
    @SpaceFrog
    Merci, je ne connaissais pas.
    Toutefois, je n'utilise pas JQuery!

  7. #7
    Invité
    Invité(e)
    Par défaut
    1-
    Citation Envoyé par XDev1 Voir le message
    ...Toutefois, je n'utilise pas JQuery!
    Peu importe !

    SpaceFrog utilise jQuery uniquement pour l'affichage des options (au lieu de se les cogner à la main dans le <select> ).
    Au final, le code HTML est le même.

    Et le comportement aussi !

    N.B. A noter que la vitesse de frappe compte !
    ex. : en tapant L-I-E :
    • relativement rapidement, on obtient bien "Liechtenstein"
    • en espaçant plus chaque lettre, on obtient "Laos" - "Iceland" - "Ecuador" !


    2-
    Citation Envoyé par XDev1 Voir le message
    ...Je dois afficher une très grande liste de mots (plus de 400 000 !)....
    PERSONNE ne va faire défiler 400 000 mots dans une liste déroulante !
    PERSONNE !

    Il faut absolument t'intéresser à :
    • l'auto-complétion (dans un <input>, on tape le début d'un mot : on affiche les choix possibles au fur et à mesure)
    • et tant qu'à faire, à Ajax (avec ou sans jQuery) (pour aller chercher en Bdd les mots qui correspondent à la chaine tapées dans l'<input>)


    N.B. petite remarque sur le lien donné par mathieu (jQuery Autocomplete)
    Il faut lister TOUS les choix possibles dans une variable JavaScript availableTags = [...].
    J'imagine mal lister 400 000 mots (au chargement de la page)...

    Par contre, via Ajax, à chaque lettre ajoutée (onkeyup, par ex.), on peut faire appel via Ajax à la Bdd, pour faire une requête SQL des "mots commençants par..." (ou des "mots contenants...").
    Dernière modification par Invité ; 12/07/2018 à 16h57.

  8. #8
    Membre régulier
    Homme Profil pro
    Aucun
    Inscrit en
    Avril 2008
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Aucun

    Informations forums :
    Inscription : Avril 2008
    Messages : 78
    Points : 79
    Points
    79
    Par défaut
    @jreaux62
    Très bien, merci.

  9. #9
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Citation Envoyé par jreaux62
    N.B. petite remarque sur le lien donné par mathieu (jQuery Autocomplete)
    Ils faut lister TOUS les choix possibles dans une variable JavaScript availableTags = [...].
    ce plugin utilise également Ajax, il suffit de lui demander gentiment
    Autocomplete Remote data source par exemple

    Mais je te rejoins sur les 400 000 références, c'est un truc de ouf ou une erreur de frappe !

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

Discussions similaires

  1. supprimer un élément d'une base affiché dans une jsp
    Par smiles dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/03/2010, 09h51
  2. Réponses: 14
    Dernier message: 05/05/2008, 15h35
  3. récupérer le nom du serveur et l'afficher dans une jsp
    Par barouz dans le forum Servlets/JSP
    Réponses: 21
    Dernier message: 19/04/2007, 15h32
  4. Nombre d options a afficher dans une liste (select)
    Par wwluigi dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/01/2007, 15h17
  5. Réponses: 14
    Dernier message: 15/12/2005, 10h32

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