我可以为4个不同的下拉列表创建一个循环吗?

时间:2013-10-27 00:11:50

标签: javascript

尽管这段代码实际上正在运行,但我正试图将其缩小到一个循环......到目前为止,我的所有尝试都失败了。您将看到的是具有不同Id的四个下拉列表...但是,它们具有相同的类名(optionLinks)。 这是代码:

function init(){

    var allE = document.getElementById("executive");
    allE.onchange = loadLink;

    var allL = document.getElementById("legislative");
    allL.onchange = loadLink;

    var allJ = document.getElementById("judicial");
    allJ.onchange = loadLink;

    var allS = document.getElementById("state");
    allS.onchange = loadLink;
}

谢谢大家:)

3 个答案:

答案 0 :(得分:1)

使用适度的最新浏览器:

[].forEach.call(document.querySelectorAll('.optionLinks'), function(a){
    a.addEventListener('change', loadLink);
});

JS Fiddle demo

参考文献:

答案 1 :(得分:0)

var ids = ['executive','legislative','judicial','state'];
for (var i = 0; i < ids.length; i++)
    document.getElementById(ids[i]).onChange = loadLink;

或者...

var elements = document.getElementsByClassName('optionLinks');
for (var i = 0; i < elements.length; i++)
    elements[i].onChange = loadLink;

答案 2 :(得分:0)

elements = document.getElementsByClassName('optionLinks');
for (var i = 0; i < elements.length; i++) {
    elements[i].onchange = loadLink;
}