我正在尝试使用 getElementsByClassName 使我选择的选项根据值跳转到其 URL:
http://www.example.com/?page_id="value"
这是我所做的:http://jsfiddle.net/VvLXk/2/
但是它不起作用。
我知道我可以使用 getElementByID 但我有三个选择元素(并且我可能会添加更多)。我相信它只适用于一种元素。因此,我求助于 getElementsByClassName,但它不起作用。
我的代码有什么问题吗?欢迎使用 Javascript/JQuery 解决方案。
最佳答案
如 How to use getElementsByClassName in javascript-function? 中所述, getElementsByClassName()
提供元素的集合。要分配事件处理程序,您必须对其进行迭代并修改每个单独的元素。
for (var i = 0, l = dropdown.length; i < l; i++) {
dropdown[i].onchange = onCatChange;
}
除此之外,您还可以引用单个 dropdown
该事件是通过 this
触发的在处理程序内 function
.
function onCatChange() {
if ( this.options[this.selectedIndex].value > 0 ) {
// etc.
}
}
修改后的 fiddle :http://jsfiddle.net/jLLHH/ (注意:记录而不是重定向)
关于javascript getElementsByClassName 不适用于 <select>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24292561/