46 votes

Comment définir selectedIndex de l’élément select à l’aide du texte d’affichage?

Comment définir selectedIndex de l’élément select en utilisant le texte d’affichage comme référence?

Exemple:

Y a-t-il un autre moyen de le faire sans boucle? Vous savez, je pense à un code JavaScript intégré ou quelque chose du genre. De plus, je n’utilise pas jQuery...

63voto

Jacob Relkin Points 90729

Essaye ça:

 function SelectAnimal() {
    var sel = document.getElementById('Animals');
    var val = document.getElementById('AnimalToFind').value;
    for(var i = 0, j = sel.options.length; i < j; ++i) {
        if(sel.options[i].innerHTML === val) {
           sel.selectedIndex = i;
           break;
        }
    }
}

9voto

Ibu Points 17457
<pre><code></code><p>la définition de la propriété selectedIndex de la balise select permettra de choisir l’élément approprié. c’est une bonne idée de comparer les deux valeurs (options innerHTML &amp;&amp; animal value) vous pouvez utiliser la méthode indexOf() ou l’expression régulière pour sélectionner l’option correcte malgré le boîtier ou le présens d’espaces</p><pre><code></code></pre><p><code></code></p></pre>

3voto

tradyblix Points 2931

Essaye ça:

 function SelectAnimal()
{
    var animals = document.getElementById('Animals');
    var animalsToFind = document.getElementById('AnimalToFind');
    // get the options length
    var len = animals.options.length;
    for(i = 0; i < len; i++)
    {
      // check the current option's text if it's the same with the input box
      if (animals.options[i].innerHTML == animalsToFind.value)
      {
         animals.selectedIndex = i;
         break;
      }     
    }
}

2voto

ssingh Points 59

Vous pouvez définir l’index par ce code :

mais rappelez-vous une mise en garde dans cette pratique, Vous ne seriez pas en mesure d’appeler la méthode côté serveur `` si vous sélectionnez la valeur précédente sélectionnée dans la liste déroulante.

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