3

我在 javascript 中有一个函数应该允许我选择多个选项,但它只选择第一个。

Javascript:

 function index(){
        var a="${staffindex}".replace("[","");
        var b=a.replace("]","");
        var index1=b.split(",");
        for(var i=0;i<index1.length;i++)
            document.getElementById("Staff")[index1[i]].selected=true;
        }

HTML:

<select multiple="multiple" id="Staff" name=staff>
                <option value = "1" >option1</option>
        <option value = "2" >option2</option>
        <option value = "3" >option3</option>
        <option value = "4" >option4</option>
        <option value = "5" >option5</option>
</select>

index1 是从 java 类接收的数字数组。
谢谢你的帮助!

4

3 回答 3

1

您忘记使用options数组:

document.getElementById("Staff").options[index1[i]].selected=true;
于 2013-06-11T14:54:35.893 回答
0

getElementById()javascript中的函数只选择一个元素。在这里它只选择<select>标签,因为它的 id 为Staff而不是它的选项。但是,您可以访问其选项

getElementById("Staff").options[option_number];
于 2013-06-11T14:58:12.253 回答
0

试试这个:

function index(){
    var a="${staffindex}".replace("[","");
    var b=a.replace("]","");
    var index1=b.split(",");
    for(var i=0;i<index1.length;i++)
        document.getElementById("Staff").options[index1[i]].selected=true;
}

options是非常必要的!

于 2013-06-11T15:01:24.577 回答