javascript函数不会运行onchange

时间:2013-04-18 01:47:47

标签: javascript onchange

window.onload = init;

function init(){
    var allSelect = document.getElementsByTagName("option");
    for (var i = 0; i < allSelect.length; i++){
        allSelect[i].onchange = loadLink;
    }
}

function loadLink(){
     alert("TEST");
}

所以我正在为一个类解决这个问题,而且函数非常简单。我用简单的警报替换了所需的代码,因为即使逐点跟踪也不会运行loadLink()函数。 AllSelect已填充,并且都具有{}。

中指定代码的onchange值

我也试过手工将它放入html元素中,但它仍无效。

任何想法?如果有人关心的话,我会在IE和Chrome的计算机上本地运行。提前谢谢。

2 个答案:

答案 0 :(得分:5)

onchange事件属于select元素,而不是选项元素。所以:

window.onload = init;

function init(){
    var allSelect = document.getElementsByTagName("select");
    for (var i = 0; i < allSelect.length; i++){
        allSelect[i].onchange = loadLink;
    }
}

function loadLink(){
     alert("TEST");
}

答案 1 :(得分:0)

我想你想要

    var allSelect = document.getElementsByTagName("select");

您正在查询DOM中的选择内的选项元素。