您好,
我想检查/取消选中具有相同类的所有复选框,以及在选中/取消选中复选框时禁用\启用相关文本字段。
我设法使用document.activeElement
和document.getElementsByClassName
编写了一个代码,除了它在Chrome上不起作用之外。除非activeElement是文本字段,否则返回正文而不是实际的activeElement是reported bug in Chrome。
在修复错误之前,是否有可以使用的解决方法?
JS:
function changeAll(variable) {
var current = document.activeElement;
var checkboxes = variable + "_g";
var text = variable + "_v";
var i;
if (current.checked === true) {
for (i = 0; i < document.getElementsByClassName(checkboxes).length; i++) {
document.getElementsByClassName(checkboxes)[i].checked = true;
}
for (i = 0; i < document.getElementsByClassName(text).length; i++) {
document.getElementsByClassName(text)[i].disabled = false;
}
} else {
for (i = 0; i < document.getElementsByClassName(checkboxes).length; i++) {
document.getElementsByClassName(checkboxes)[i].checked = false;
}
for (i = 0; i < document.getElementsByClassName(text).length; i++) {
document.getElementsByClassName(text)[i].disabled = true;
}
}
}
HTML:
<input type="checkbox" class="y_g" onClick="changeAll('y')">
<input type="text" class="y_v" disabled>
<input type="checkbox" class="y_g" onClick="changeAll('y')">
<input type="text" class="y_v" disabled>
<br>
<input type="checkbox" class="x_g" onClick="changeAll('x')">
<input type="text" class="x_v" disabled>
<input type="checkbox" class="x_g" onClick="changeAll('x')">
<input type="text" class="x_v" disabled>
答案 0 :(得分:1)
传递参考资料
HTML:
<input type="checkbox" class="y_g" onClick="changeAll(this,'y')">
JavaScript的:
function changeAll(current, variable) {
//var current = document.activeElement;
理想情况下,您不会使用内联事件。