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

ASP.NET Discussion :

javascript et auto-recherche listbox


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut javascript et auto-recherche listbox
    Bonjour,
    Pour rechercher dans une listbox j'ai utilisé ce 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
    25
    26
    27
    28
    <script type="text/javascript" language="javascript">
     
        function SearchList() {
     
            var l = document.getElementById('<%= ListBox1 %>');
            var tb = document.getElementById('<%= TextBox1 %>');
     
            if (tb.value == "") {
                ClearSelection(l);
            }
            else {
                for (var i = 0; i < l.options.length; i++) {
                    if (l.options[i].value.toLowerCase().match(tb.value.toLowerCase())) {
                        l.options[i].selected = true;
                        return false;
                    }
                    else {
                        ClearSelection(l);
                    }
                }
            }
        }
     
        function ClearSelection(lb) {
            lb.selectedIndex = -1;
        }
     
    </script>
    le code fonctionne bien pour une listbox peupler sans base des données ,mais quand je remplis la listbox à partir d'une table la recherche marche pas .
    merci

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est pas logique. Le javascript s'exécute côté client donc le fait de remplir ta liste d'une façon ou d'une autre ne devrait pas intervenir

  3. #3
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    +1

    quand je remplis la listbox à partir d'une table la recherche marche pas
    quand tu dis "marche pas", ca veut dire quoi, erreur javascript, pas de resultat ?

    As-tu essayé de tracer, dans ton script, ce qui ne fonctionne pas ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Salut,
    Quand je peuple la listbox avec les données d'une table la recherche fonctionne pas: le mot cherché (tapé dans le textbox)n'est pas sélectionné dans la liste; j'ai pas de message d'erreur mais je voie pas le résultat de la recherche , j'ai une liste remplie de données sans rien d'autre .
    merci

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            var l = document.getElementById('<%= ListBox1 %>');
            var tb = document.getElementById('<%= TextBox1 %>');
    C'est bizarre ce code, ça retourne quoi
    <%= ListBox1 %> ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            var l = document.getElementById('<%= ListBox1.ClientID %>');
            var tb = document.getElementById('<%= TextBox1.ClientID %>');
    voilà j'ai trouvé le code ici:
    http://geekswithblogs.net/dotNETvinz...avascript.aspx

  7. #7
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    si tu maitrises pas le code javascript copié-collé, commence par mettre des alert à droite a gauche

    en termes de remarques, ce script appelle beaucoup ClearSelection à mon gout, et j'ai un doute sur la syntaxe de match..

    essaye qq chose comme :
    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
     
       function SearchList() {
     
            var l = document.getElementById('<%= ListBox1 %>');
            var tb = document.getElementById('<%= TextBox1 %>');
     
            ClearSelection(l);
            if (tb.value == "") {
                return false; 
            }
            alert(tb.value);
             for (var i = 0; i < l.options.length; i++) {
            alert(l.options[i].value.toLowerCase());
                 if (l.options[i].value.toLowerCase().match(tb.value.toLowerCase())) {
            alert("trouvé !");
                     l.options[i].selected = true;
                     return false;
                 }
             }
            alert("pas trouvé !");
         }
     }
    J'ai pas le temps de tester, peut-etre demain

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonjour,
    avec le dernier 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
      <script type="text/javascript">  
              function SearchList()   
               {   
                    var l = document.getElementById('<%= ListBox1.ClientID %>');  
                   var tb = document.getElementById('<%= TextBox1.ClientID %>');  
     
                   ClearSelection(l);  
     
                 if (tb.value == "")   
                  {  
                      return false;  
                  }  
     
                  alert(tb.value);  
                   for (var i = 0; i < l.options.length; i++) {  
                      alert(l.options[i].value.toLowerCase());  
     
                   if (l.options[i].text.toLowerCase().match(tb.value.toLowerCase()))   
                        {  
                        alert("trouvé !");  
                         l.options[i].selected = true;  
                         return false;  
                        }  
                   }  
                  alert("pas trouvé !");  
            }  
     
           function ClearSelection(lb)   
            {  
                lb.selectedIndex = -1;  
           }  
     
     
         </script>
    le problème c'est que le message apparait après la première lettre tapée dans le textbox (le résultat prend en considération la première lettre saisie seulement )si non et je dois cliquer sur ok de message pour taper la deuxième lettre par expemple : si je tape 1 je dois cliquer sur ok pour pouvoir taper 3 et le message sa me donne tous les étudiants dont le numéro commence par 13, je dois cliquer ok pour finir les étudiants ;pour pouvoir taper 5 par exemple

    Merci de m'aider.

  9. #9
    Expert confirmé

    Avatar de Philippe Vialatte
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juillet 2004
    Messages
    3 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 3 029
    Par défaut
    Citation Envoyé par pseudo88 Voir le message
    le problème c'est que le message apparait après la première lettre tapée dans le textbox (le résultat prend en considération la première lettre saisie seulement )
    Normal, c'est pour que tu puisses debugger ton script

    Combien de fois tu as le message "trouvé" qui apparait ?

    Mon Blog

    The Cake is still a lie !!!



    Vous voulez contribuer à la rubrique .NET ? Contactez-moi par MP.
    Vous voulez rédiger des articles pour la rubrique .NET ? Voici la procédure à suivre.

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonjour Philippe Vialatte

    voilà j'ai supprimé les messages alert et sa marche ,j'ai un autre problème j'arrive pas a garder le ID recherché selectionné et commencer une autre recherche malgré que j'ai SelectionMode="Multiple"our la listbox.
    merci

  11. #11
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est pas l'appel à la fonction ClearSelection le coupable?

  12. #12
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 100
    Par défaut
    Bonjour,
    J'ai mal expliqué mon problème,je cherche a sélectionner plusieurs lignes de la listbox : rechercher un ID et le garder sélectionné,puis rechercher un autre .......
    Merci.

Discussions similaires

  1. auto recherche dans une listbox
    Par pseudo88 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 19/05/2010, 13h28
  2. Auto recherche dans une listbox
    Par pseudo88 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/05/2010, 22h33
  3. [Recherche] ListBox Colorisation + Icone
    Par trikker dans le forum Composants VCL
    Réponses: 9
    Dernier message: 01/12/2009, 10h15
  4. Réponses: 2
    Dernier message: 11/04/2008, 16h51
  5. [XPATH] [XML] [JAVASCRIPT] Pb de recherche avec apostrophe
    Par lenoil dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/02/2006, 14h28

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