Javascript更改Select的名称的selectedIndex

时间:2014-03-08 14:29:46

标签: javascript wordpress

我正在使用wordpress插件,这迫使我使用name =“”属性。所以我无法将其更改为id =“”或class =“”。当我单击按钮时,我希望将selectedIndex for name =“select”更改为2.

这是我尝试过的:

<select name="select">
<option value="1">option1</option>
<option value="2">option2</option>
</select>
<input type="button" value="CHANGE" onclick="selectFunction()" />

var selectFunction = function() {
document.getElementById("select").selectedIndex = 2;
};

所以我基本上想使用name =“”而不是id =“”来使用这个函数。这意味着像document.getElementById(“select”)。selectedIndex = 2;不会工作。

提前致谢!

2 个答案:

答案 0 :(得分:4)

您可以使用querySelector()选择CSS样式选择器:

document.querySelector('select[name="select"]').selectedIndex = 2;

演示:http://jsfiddle.net/4exeJ/

或者,如果您需要支持没有querySelector()的旧版IE,则可以使用document.getElementsByTagName("select"),然后循环检查每个.name的结果列表,直到找到正确的。

或者是document.getElementsByName() function,它也返回一个列表(或HTMLCollection),但根据QuirksMode.org,它在IE&lt; = 9中无法正常工作。

请注意,选项索引从0开始(因此在您的示例中,您不希望将selectedIndex设置为2,因为最后一个选项是索引1)。

答案 1 :(得分:1)

试试这个,您可以使用getElementsByName

<select name="select">

使用Javascript:

document.getElementsByName("select")[0].selectedIndex = 1;