-2

HTMl に複数選択リストボックスが 1 つあります。リストボックスの選択項目の値を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

4 に答える 4

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

デモ: http://jsfiddle.net/4qYht/1/

于 2013-04-25T06:28:52.533 に答える
0

schoolid割り当て行のコメントを外します

var schoolid = s.options[i].value;
allSchools.push(schoolid);

また

allSchools.push(s.options[i].value);の代わりに使用allSchools.push(schoolid);

于 2013-04-25T06:37:09.647 に答える
0

1 行 (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);
}
于 2013-04-25T06:34:09.883 に答える
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);
         }
    }
  }

ハッピーコーディング:)

于 2013-04-25T06:44:35.757 に答える