Comment définir par programmation les valeurs (pluriel) d'un élément de boîte de sélection multiple à l'aide de javascript?

J'ai une forme comme celle-ci:

<form action="/cgi-bin/cgi_info.py" method="POST"> <select id="faults" class="multiselect" multiple="multiple" name="faults[]"> <option>Big nose <option>Big feet <option>Wrinkly nose <option>Wrinkly feet <option>Spotty nose <option>Spotty feet </select> </form> 

Et souhaitez sélectionner, par exemple, toutes les options contenant le texte 'nose' à l'aide d'une balise span sur l'événement clone autour d'un texte.

Pouvez-vous m'aider avec le code javascript onclick?

Merci.

Vous devez itérer sur les éléments <option> , vérifier le contenu et définir la propriété selected conséquence:

 var faults = document.getElementById("faults").options, reg = /\bnose\b/; for (var i=0, max = faults.length; i < max; i++) { faults[i].selected = reg.test(faults[i].innerHTML); } 

Exemple: http://jsfiddle.net/gPQ7U/

Vous pourriez le faire comme ceci:


<form action="/cgi-bin/cgi_info.py" method="POST"> <select id="faults" class="multiselect" multiple="multiple" name="faults[]"> <option>Big nose <option>Big feet <option>Wrinkly nose <option>Wrinkly feet <option>Spotty nose <option>Spotty feet </select> </form>

<script>
function search(){ for (i=0; i <= document.getElementById('faults').options.length - 1; i++){ if (document.getElementById('faults').options[i].text.indexOf('nose') > 0) { alert(document.getElementById('faults').options[i].text);
}
}
} </script>

<input type="button" value="Find by text" onclick="search();"></input>