选中getElementById不能选择多个选项

时间:2013-06-11 14:53:26

标签: javascript html select getelementbyid

我在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类接收的数字数组 谢谢你的帮助!

3 个答案:

答案 0 :(得分:1)

您忘记使用options数组:

document.getElementById("Staff").options[index1[i]].selected=true;

答案 1 :(得分:0)

javascript中的

getElementById()函数只选择一个元素。此处它仅选择<select>代码,因为它的ID为Staff,而不是其选项。但是,您可以访问其选项

getElementById("Staff").options[option_number];

答案 2 :(得分: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是非常必要的!