javascript getElementsByClassName 不适用于 <select>

标签 javascript jquery getelementbyid getelementsbyclassname

我正在尝试使用 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/

相关文章:

javascript - getElementById() 对于现有对象返回 Null

java - 在 DIV 中显示流

javascript - 单击按钮时在导航中 react 幻灯片

php - POST 变量突然无法通过基于 jQuery 的 AJAX 调用工作

asp.net-mvc - jQuery.POST - 使用 Form.Serialize() 传递另一个参数 - Asp.net MVC 3

php - 使用 PHP 和 Javascript 从 MySQL 拆分数据在 IE 中有效,但在 FF 中无效

javascript - 如何让 javascript 查看更新后的选择值?

javascript - 双 "for"循环(循环中循环)

javascript - 关于Web应用程序如何工作以及服务器客户端如何实现的问题

javascript - 图 : Div hover then Displays Image