Javascript 选择下拉菜单 onchange 未正确触发

标签 javascript onchange

我的 onchange 没有正确触发 javascript 方法。

选择代码(在 HTML 文件中)

<select id="crit_1" onchange="crit1Update()">
    <option value=null>Criteria 1</option>
 <option value="major">Major</option>
 <option value="grad">Graduation Year</option>
</select>

crit1Update() 代码(在外部 filter.js 文件中,与包含上述内容的 HTML 文件位于同一文件夹中,HTML 头部包含以下代码

<script type="text/javascript" src="filter.js">
</script>

function crit1Update() {
 var crit1 = document.criteria.getElementsByID("crit1");
 var criteria1 = crit1.options[crit1.selectedIndex].value;
 alert("criteria1"); // this is never firing, so this isnt getting called
 if (criteria1 == null) {
  // eventually set all other lists to null in here as well
  filter(null,null,null,null,null,null)
            // the above returns all the resumes 
            // (this is eventually going to filter resumes)
 }
 else if (criteria1 == "major") {
  alert("Major!");
 }
}

是否有任何我遗漏的明显或不明显的错误?我不明白为什么 alert("criteria1"没有被调用。我有 Java 背景,这是我第一次涉足 JS,所以我可能遗漏了一些简单的东西。

感谢您的帮助。

最佳答案

这个方法调用有错别字:

document.criteria.getElementsByID(

应该是

document.criteria.getElementById(
                            ^  ^ no "s" and lower case "d"

还要确保 id 与您的 HTML 元素相匹配,例如“crit_1”

关于Javascript 选择下拉菜单 onchange 未正确触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4048406/

相关文章:

javascript - 我怎样才能用 JQuery 写这个

javascript - 停留在 JS 类(class) (Codecademy) 为你的名字搜索文本 5/7

javascript - 如何捕获用户自己进行的手动下拉更改?

javascript - 将 onchange 函数事件附加到变量

javascript - mootools 菜单 document.id 到 document.getElements

javascript - 在事件jquery中插入一个函数

javascript - 哪些浏览器支持 Object.observe?

javascript - 从 onChange 输入元素中调用的函数获取索引值

javascript - 检查 "change"事件是否来自键盘

jquery - 如何在 jQuery 中更改框阴影范围