Javascript:从javascript更改<select .. =“”>选项</select>

时间:2012-08-18 08:20:29

标签: javascript html

我有一个如下所示的表单,用户可以在其中选择多个选项。我试图从javascript做同样的事情(当页面重新生成时)。我不确定我哪里出错了。有人可以纠正我吗?

            <form name="myForm">
                <select name="numSel[]" size="2" multiple="multiple">
                  <option value="ONE">ONE</option>                     
                  <option value="TWO">TWO</option>
                  <option value="THREE">THREE</option>
                  <option value="FOUR">FOUR</option>
                </select>
            </form>

这是我正在尝试的javascript代码(尝试选择一个和三个):

                document.myForm.numSel.options[1].selected =  true;
                document.myForm.numSel.options[3].selected =  true;

有什么想法吗?

编辑:修正语法(实际上不在代码中)。我打算用PHP生成javascript语句,并且需要numSel []才能使用它。那么,在这种情况下,我该如何更改代码?

感谢。

2 个答案:

答案 0 :(得分:2)

name="numSel[]"与脚本中的名称不匹配。将其更改为numSel,并且有效:

<select name="numSel" size="2" multiple="multiple">

http://jsfiddle.net/m5GJW/

..或者通过名称“numSel []”

来定位它
document.myForm["numSel[]"].options[1].selected =  true;
document.myForm["numSel[]"].options[3].selected =  true;​

http://jsfiddle.net/x3rGb/

答案 1 :(得分:2)

以这种方式更改JS代码:

document.forms["myForm"].elements["numSel[]"].options[1].selected =  true;
document.forms["myForm"].elements["numSel[]"].options[3].selected =  true;

并更正结束标记</select>