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 :

Javascript : Recherche dans une liste ne prend pas en compte les caractères spéciaux


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 111
    Par défaut Javascript : Recherche dans une liste ne prend pas en compte les caractères spéciaux
    Bonjour à tous,

    J'ai trouvé sur le Net un script qui recherche et sélectionne dans une liste ce qu'on tape au clavier
    et cela marche bien pour les caractères alphabétiques (a, b , c...) mais pas pour les caractères comme : ":", "/"...

    Voici mon script :

    //******************************************************

    <html>
    <head>
    <title>Test</title>
    <script type="text/javascript">
    var browser = navigator.userAgent;
    var isOpera = (browser.indexOf("Opera") != -1);
    var isIE = (!isOpera && browser.indexOf("MSIE") != -1);
    var isMozilla = (!isOpera && !isIE && browser.indexOf("Mozilla") != -1);

    var deb = "";
    var timer;
    var lastChoice = 0;

    function checkKey(ev)
    {
    clearTimeout(timer);

    var c = "";
    //if(ev && ev.which) c = ev.which;
    if(isIE) c = window.event.keyCode;

    deb += String.fromCharCode(c).toLowerCase();

    //alert(deb);

    var s = document.getElementById("a");
    for(var i=0; i<s.options.length; ++i) {
    if(s.options[i].text.substr(0,deb.length).toLowerCase() == deb) {
    s.selectedIndex = i;
    lastChoice = i;
    timer = setTimeout('resetString()', 3000);
    return;
    }
    }
    timer = setTimeout('resetString()', 500);
    s.selectedIndex = lastChoice;
    }

    function resetString()
    {
    deb = "";
    }
    </script>
    </head>

    <body>
    <select id="a" onkeydown="return false;" onkeypress="return false;" onkeyup="checkKey(event); return false;">
    <option>albany</option>
    <option>Albator</option>
    <option>Cell:CHO</option>
    <option>Cell:dd</option>
    <option>:a</option>
    <option>Game</option>
    <option>Tata</option>
    <option>Titi</option>
    <option>Toto</option>
    </select>
    </body>
    </html>

    //*******************************************************

    Je n'utilise que IE comme explorer.

    Comment faire pour que la recherche accepte les caractères spéciaux ?

    Merci beaucoup pour vos réponses.

    laurent_diep.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (escape(s.options[i].text.substr(0,deb.length).toLowerCase()) == escape(deb))
    ??

    A+

Discussions similaires

  1. [VBA-Excel] Effectuer une recherche dans une liste view
    Par Miles Raymond dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2006, 17h21
  2. Imposer une methode Equals pour une recherche dans une List
    Par petozak dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/10/2006, 10h41
  3. Réponses: 2
    Dernier message: 07/07/2006, 10h00
  4. Réponses: 2
    Dernier message: 10/10/2005, 02h25
  5. Recherche dans une liste non trié
    Par Oberown dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 13/09/2004, 13h56

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