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 :

rafraichir une liste déroulante


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut rafraichir une liste déroulante
    bonjour,
    je cherche un script qui me rafraichit une liste déroulante en fonction de se que je saisie dans une autre zone d'édition et en fait j'aimerai bien qu'a chaque fois que je tape une lettre dans la zone ça met à jour la liste mais encore j'aimerai que la liste déroulante reste ouverte tant que je saisie des caractères
    alors croyez-vous que c'est possible
    si oui merci de m'aider

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    bonjour et Merci
    sauf que ajax je connais et je ne vois pas l'utilité mais l'idée est la, en fait je ne veux pas utiliser ajax car je travail sur le framework struts donc je veux vraiment faire au plus simple juste un javascript que je vais mettre dans ma page jsp


    merci de m'aider un peu plus

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Ajax n'est pas incompatible avec struts ...

    Et si tu veux rafraichir sur la saisie d'une lettre et conserver l'historique, il vaut mieux éviter de recharger la page non ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    tout a fait tu as raison,
    mais je t'explique ma liste déroulante est une collection (ArrayList) donc l'idée est de mettre en mémoire (de la session) cette liste et à chaque fois que je tape une lettre je fais appel à un javascript qui va rien faire que de parcourir cette liste et comparer avec l'élément saisie et puis me rafraichir uniquement la liste et pas la page
    mais le malheur c'est que je connais pas trés bien javascript et donc je ne sais comment lire et modifier mon arrayList
    peus-tu m'aider à ce niveau et me dire si mon idée est bonne
    merci

  6. #6
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ArrayList == java == serveur
    donc si tu veux juste parcourir ta collection avec javascript, il faut que tu ailles chercher les infos sur le serveur et ce, sans recharger la page donc xmlhttp.

    Sinon, au chargement de ta page, tu construit un tableau javascript a partir de ton ArrayList
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    je préfere la deuxieme solution car j'ai une seule liste déroulante et je ne veux pas tester ajax (pour le moment) mais sinon ton idée est ce que tu peux la développer un peu plus je fais comment pour " construit un tableau javascript a partir de ton ArrayList"
    un exemple stp

  8. #8
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type='text/javascript'>
    <%
                  out.println("var tab = new Array()");  
                  for(int i=0;i<l.size();i++){
                    out.println("tab["+i+"] = "+l.get(i)+";");
                  }
    %>
    </script>
    l est ton ArrayList bien sur
    et tab sera le nom du tableau javascript
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    Mais ça ne marche pas je te montre un peu se que j'ai dans mon JSP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <html:select property="app" onchange="javascript:loadRef(listApp);">
                <html:option value="-1"><bean:message key="BT.aucune"/></html:option>
                <html:options collection="listApp" property="dn" labelProperty="name"/>
            </html:select>
    et le javaScript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function loadRef (listAppartenances)
    {
       var  listeAppartenance = new Array();
     
                for(int i=0;i < listAppartenances.size();i++){
                    tab[i] = listAppartenances.get(i);
     
                  }
       }
    quand je fais des alert pour voir un peu se qui se passe sa ne donne rien il n'aime pas du tt le :
    alert ('la taille est de : ' + listAppartenances.size());

  10. #10
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    euh je crois que tu melanges tout, javascript et java ne peuvent pas communiquer directement ...
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    je me disais que ce n'est pas aussi facile que ça
    et la solution est ce qu'elle existe ???

  12. #12
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    as tu bien regardé le code que j'ai posté ?
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  13. #13
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    j'avoue maintenant que j'ai bien regardé ton code (aprés avoir mangé) je l'ai testé et j'ai compris
    mais le seul pb qui me reste (enfin je penses) c'est comment lui passer en argument ou comment lui dire d'allé récupéré la liste (la collection) dans ton script sachant qu'elle a été définit dans une Action struts
    j'espere que t'as compris se que je veux dire !!

  14. #14
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    pas vraiment compris ou se trouve ton probleme non.

    enfin si c est le select que tu veux mettre a jour, il faut qu'a chaque lettre saisie, tu parcours ton select et elimine les options qui te servent plus.

    Et quand tu efface le contenu du champ, tu te sert du tableau pour re remplir
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  15. #15
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    pour le moment se que je n'arrive pas à faire c'est ça :
    dans mon jsp j'ai mis
    <body onLoad="javascript:loadref();">

    et mon loadref est :
    function loadref ()
    {
    <%
    out.println("var tab = new Array()");
    for(int i=0;l;i<list.size();i++)
    {
    out.println("tab["+i+"] = " + list.get(i) +";");
    }
    %>
    ....
    }
    mais le pb est que je ne sais pas comment lui passer en parametre la list (le passage du ActionForm vers ma page JSP) en fait la liste (list) je ne sais pas comment la récupérer je sais juste quelle se trouve dans ma collection

  16. #16
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ne met pas ca dans une fonction car tu en aura besoin dans la page.

    ensuite, sur le onchange de ton select, il faut que tu parcour les options de ta liste et que tu enleve celles qui ne correspondent pas ou rajoute celles qui ont été enlevées et qu il te faut a present.

    c'est une adaptation du tuto de denisC mais sans xmlhttp et avec un tableau comme données
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  17. #17
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    je suis d'accord

  18. #18
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    je suis d'accord avec se que tu me dis la seul chose que je ne comprend et que je n'arrive pas à faire et tout simplement récupérer la liste dans la page jsp elle est représenté par la 'collection' mais dans ton script comment je dois faire pour qu'il cherche la bonne list dans ton script j'ai mis :
    <script type='text/javascript'>
    <%
    out.println("var tab = new Array()");
    for(int i=0;i<listApp.size();i++){
    out.println("tab["+i+"] = "+listApp.get(i)+";");
    }
    %>
    </script>

    avec lisApp : <html:options collection="listApp" property="dn" labelProperty="name"/>
    mais il me met erreur se que je comprend mais donc comment lui donner la liste est ce que je dois utiliser : listApp = session.getAttribute('listApp')
    merci de me répondre

  19. #19
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui un truc comme ca, il faut que tu récupère ton ArrayList
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <script type='text/javascript'>
                    <%
    ArrayList listApp = session.getAttribute('listApp');
                  out.println("var tab = new Array()");  
                  for(int i=0;i<listApp.size();i++){
                    out.println("tab["+i+"] = "+listApp.get(i)+";");
                    }
                     %>
                </script>
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  20. #20
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 52
    Points : 30
    Points
    30
    Par défaut
    berk je n'aime pas du tt cette solution j'encombre ma page JSP j'aime pas trop mettre du code java dans la page jsp (les actionForm) sont la pour ça !!!!
    enfin bref merci bcp
    je vais tester maintenant

Discussions similaires

  1. code pour rafraichir une liste déroulante
    Par morgane32 dans le forum VBA Access
    Réponses: 5
    Dernier message: 02/09/2008, 17h06
  2. rafraichir une liste déroulante
    Par super-java dans le forum Langage
    Réponses: 8
    Dernier message: 21/08/2008, 13h51
  3. Réponses: 3
    Dernier message: 01/02/2008, 13h29
  4. Rafraichir un formulaire en fonction d'un choix dans une liste déroulante
    Par talondachil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2008, 23h17
  5. rafraichir une liste déroulante
    Par Manu59410 dans le forum VBA Access
    Réponses: 4
    Dernier message: 29/08/2007, 16h03

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