如何在javascript中存储多选列表框的值

时间:2013-04-25 06:26:25

标签: javascript listbox

我的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);
                }
            }
}

可以通过警告框警告值,但不会将其存储在变量中。

如何将其存储在变量中。

4 个答案:

答案 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);
}

DEMO: http://jsfiddle.net/4qYht/1/

答案 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);
         }
    }
  }

快乐编码:)