[英]Javascript onChange with select/option
I have this javascript code: 我有这个javascript代码:
window.onload = function() {
var eSelect = document.getElementByClassName('item');
var body = document.getElementById('body');
var face = document.getElementById('face');
var neck = document.getElementById('neck');
var feet = document.getElementById('feet');
var hand = document.getElementById('hand');
var other = document.getElementById('other');
var pin = document.getElementById('pin');
var color = document.getElementById('color');
var bg = document.getElementById('bg');
var optOtherReason = document.getElementById('myPeng');
eSelect.onchange = function() {
//Do something
}
}
That code works if eSelect gets element by id. 如果eSelect通过id获取元素,则该代码有效。 It won't work if it is by class name, please help me! 如果它是班级名称,它将不起作用,请帮助我!
(*) getElementsByClassName() (*)getElementsByClassName()
(*) by class name you are getting a array of dom elements. (*)按类名,您将获得dom元素数组。
var eSelect = document.getElementsByClassName('item');
var len = eSelect.length;
for( var i=0; i<len; i++ ) {
eSelect[i].onchange = function() { };
}
May be you are using 可能是您正在使用
document.getElementByClassName('yourclass');//wrong
Correct Syntex: 正确的Syntex:
document.getElementsByClassName('yourclass');
More Info: "document.getElementByClass is not a function" 更多信息: “ document.getElementByClass不是函数”
Note that some browsers/versions may not support this getElementsByClassName function Check Details . 请注意,某些浏览器/版本可能不支持此getElementsByClassName函数“ 检查详细信息” 。
If you want onchange for all Select with class: 如果您希望对所有带有类的Select进行onchange:
var eSelect = document.getElementsByClassName('test');
for(var i=0;i<eSelect.length;i++)
{
eSelect[i].onchange = function(){alert("sdfdsf");}
}
Try: 尝试:
var eSelect = document.getElementByClassName('item')[0]
The suggested getElementByClassName('item')
actually gives back an array of matching elements unlike getElementById that gives the matching element directly. 建议的getElementByClassName('item')
实际上会返回匹配元素的数组,这与getElementById直接提供匹配元素的情况不同。 So the [0]
in suggested code selects the first and only element in that array. 因此,建议代码中的[0]
选择该数组中的第一个也是唯一的元素。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.