我试图通过className和element name通过函数获取多个元素(输入),但在这两种情况下只返回最后一个元素。即使我点击了前两个复选框,警报也是“再见为假”。当我点击它时,这应该显示为“true”元素,但不会发生。
这是HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
<input type="checkbox" name="inPut" value="hi" class="greeting" /> Hi!!
</br>
<input type="checkbox" name="inPut" value="good" class="greeting" /> Good Morning!!
</br>
<input type="checkbox" name="inPut" value="bye" class="greeting" /> Bye!!
</body>
</html>
我尝试使用classNAME获取它们:
var inNer = document.getElementsByClassName('greeting');
for (var i = 0; i < inNer.length; i++){
prueba = inNer[i];
var test = prueba.onclick = showIn;
}
function showIn(){
var rex = prueba;
alert('\''+rex.value+'\'' + ' es ' + rex.checked);
}
我尝试通过名称获取元素:
var inName = document.box.inPut;
for (var i = 0; i < inName.length; i++){
var test = inName[i];
var call = test.onclick = showIn;
}
function showIn(){
var outPut = test;
alert(outPut.value + ' is ' + outPut.checked);
}
答案 0 :(得分:0)
您的showIn
功能不正确。无需再次分配prueba
。它应该是:
function showIn() {
alert('\'' + this.value + '\'' + ' es ' + this.checked);
}
答案 1 :(得分:0)
var inNer = document.getElementsByClassName('greeting');
for(var i=0; i<inNer.length; i++){
inNer[i].onclick = showIn;
}
function showIn(){
alert(this.value +" es "+ this.checked);
}
顺便说一下,</br>
应为<br>
|| <br />
|| <br/>
而不是</br>