Je suis en train d'utiliser une expression régulière pour capturer le contenu de toutes les valeurs d'option, dans un élément HTML selectCapturer le contenu de <select>
Par exemple, dans:
<select name="test">
<option value="blah">one</option>
<option value="mehh">two</option>
<option value="rawr">three</option>
</select>
I'D tiens à capturer un deux et trois dans un tableau.
Mon code actuel est
var pages = responseDetails.responseText.match(/<select name="page" .+?>(?:\s*<option .+?>([^<]+)<\/option>)+\s*<\/select>/);
for (var c = 0; c<pages.length; c++) {
alert(pages[c]);
}
Mais il ne capture que la dernière valeur, dans ce cas, "trois". Comment puis-je modifier ceci pour les capturer tous?
Merci!
Je ne suis pas expert Javascript, mais ça ne serait pas beaucoup plus facile d'utiliser le DOM au lieu de regex pour tirer ces valeurs? –
S'il vous plaît voir le commentaire ci-dessous: "Malheureusement, je ne peux pas faire cela.Le texte que je tire est le résultat d'une xmlhttprequest, pas un objet dom ..." –
Pouvez-vous utiliser jQuery? Comme nous le savons sur http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags, vous ne pouvez pas analyser HTML avec des regex. – Domenic