我正在使用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;不会工作。
提前致谢!
答案 0 :(得分:4)
您可以使用querySelector()
选择CSS样式选择器:
document.querySelector('select[name="select"]').selectedIndex = 2;
或者,如果您需要支持没有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;