我被难住了。我有一个带有下拉列表的表单,我想获取列表中所有值的列表。我从 w3 schools 中提取了以下示例(是的,我知道它不可靠,但堆栈溢出的其他解决方案似乎与此非常相似)。它对我不起作用,我尝试将它插入 jsfiddle,但没有成功。
HTML:
<form>Select your favorite fruit:
<select id="mySelect">
<option value="a">Apple</option>
<option value="o">Orange</option>
<option value="p">Pineapple</option>
<option value="b">Banana</option>
</select>
</form>
<button type="button" onclick="displayResult()">Display text of all options</button>
JavaScript:
function displayResult() {
var x = document.getElementById("mySelect");
var txt = "All options: ";
var i;
for (i = 0; i < x.length; i++) {
txt = txt + "\n" + x.options[i].value;
}
alert(txt);
}
不在 jsfiddle 上工作:http://jsfiddle.net/WfBRr/1/
但是,它在他们的网站上有效: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_option_text2
关于如何解决这个问题有什么想法吗?
最佳答案
你有两个问题:
1) 包含 HTML 的顺序。尝试在 fiddle 的 JavaScript 设置中将下拉菜单从“onLoad”更改为“no wrap - head”。
2) 您的函数打印值。你真正追求的是文字
x.options[i].text;
而不是 x.options[i].value
;
关于javascript - 如何获得选择框中所有值的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18113495/