我的HTMl中有一个多选列表框。 我想在javascript中获取列表框中所选项目的值
我的HTML代码:
<select id="schools" size="5" multiple="multiple">
<option value="352">Byskovskolen</option>
<option value="355">Heldagsskolen Specialtilbud</option>
<option value="372">Plejecenter Solbakken</option>
</select>
我的Javascript代码:
function getData()
{
var allSchools = [];
var s = document.getElementById("schools");
alert("schools lenght " + s.options.length);
for (var i = 0; i < s.options.length; i++) {
if (s.options[i].selected == true) {
var schoolid = s.options[i].value;
alert(s.options[i].value);
allSchools.push(schoolid);
}
}
}
可以通过警告框警告值,但不会将其存储在变量中。
如何将其存储在变量中。
答案 0 :(得分:2)
如果您评论/取消注释正确的行,它可以正常工作。试试这个:
function getData() {
var allSchools = [];
var s = document.getElementById("schools");
for (var i = 0; i < s.options.length; i++) {
if (s.options[i].selected == true) {
var schoolid = s.options[i].value;
allSchools.push(schoolid);
}
}
console.log(allSchools);
}
答案 1 :(得分:0)
取消注释一行(var schoolid)并为allSchools变量添加打印输出。
function getData()
{
var allSchools = [];
var s = document.getElementById("schools");
alert("schools lenght " + s.options.length);
for (var i = 0; i < s.options.length; i++) {
if (s.options[i].selected == true) {
var schoolid = s.options[i].value;
allSchools.push(schoolid);
}
}
console.log(allSchools);
}
答案 2 :(得分:0)
取消注释schoolid分配线
var schoolid = s.options[i].value;
allSchools.push(schoolid);
或
使用allSchools.push(s.options[i].value);
代替allSchools.push(schoolid);
答案 3 :(得分:0)
您已注释掉主线,它会将值存储在变量中。
// var schoolid = s.options[i].value;
除了你的其余代码是完美的。
以下是更正后的代码:
function getData()
{
var allSchools = [];
var s = document.getElementById("schools");
alert("schools lenght " + s.options.length);
for (var i = 0; i < s.options.length; i++) {
if (s.options[i].selected == true) {
// var schoolid = s.options[i].value;
alert(s.options[i].value);
allSchools.push(schoolid);
}
}
}
快乐编码:)