2 votes

Pas de fioritures (sans JQuery) pour les listes déroulantes ?

Si j'ai une liste déroulante simple, quel est le moyen le plus simple et sans fioritures d'ajouter un type à l'avance ?

La boîte en elle-même n'a rien de compliqué ou de dynamique, elle comporte simplement de nombreuses options (ici, les États américains).

En fait, je me demande si ce cas simple peut être réalisé en quelques lignes de code si je suis prêt à renoncer à toutes les autres fonctionnalités comme AJAX.

4voto

gladsocc Points 1924

Cela devrait fonctionner :

<head>
    <script type="text/javascript">
    function typeDropdown(typedStr,ddObj) {
        var index = ddObj.getElementsByTagName("option");
        for(var i = 0; i < index.length; i++) {
             if(index[i].firstChild.nodeValue.toLowerCase().substring(0,typedStr.length) == typedStr.toLowerCase()) {
                  index[i].selected = true;
                  break;
             }
        }
    }
    </script>
</head>
<body>
    <form>
    <input type="text" name="search" onkeyup="typeDropdown(this.value,this.parentNode.dd);" />
        <select name="dd">
            <option>Your Options</option>
            <option>Here</option>
    </select>
    </form>
</body>

Ce n'est pas aussi joli, mais je pense que c'est le plus simple que l'on puisse faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X