javascript - 选择全部不取消选择所有复选框

标签 javascript html checkbox

var getCheckBox = document.getElementsByClassName('checkbox');
var i = 0;
function selectAll(SelectAllCheckBox){
	if (SelectAllCheckBox.checked) {
		while (i < getCheckBox.length){
			getCheckBox[i].checked = true;
			 i++
		}
	}
	else{ 
		while(i < getCheckBox.length){
			getCheckBox[i].checked = false;
			i++
		}
	}
}
<!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Select All Checks</title>
    </head>
    <body>
    	<label><input type="checkbox" onchange="selectAll(this)">Select All</label><br><br>
    	<div>
    		<label><input type="checkbox" class="checkbox">checkbox 1</label><br>
    		<label><input type="checkbox" class="checkbox">checkbox 2</label><br>
    		<label><input type="checkbox" class="checkbox">checkbox 3</label><br>
    		<label><input type="checkbox" class="checkbox">checkbox 4</label><br>
    		<label><input type="checkbox" class="checkbox">checkbox 5</label><br>
    		<label><input type="checkbox" class="checkbox">checkbox 6</label><br>
    	</div>

</body>
</html>

大家好,我发现上面的代码用于选择所有复选框并选择所有复选框,代码正在运行,但是当我取消选择所有复选框时,代码停止运行,并且在控制台中也没有显示任何错误。

请帮助我

最佳答案

您应该使用 i 作为局部变量而不是全局变量,因为根据您的函数,您需要每次使用 0 定义 i > 值。

var getCheckBox = document.getElementsByClassName('checkbox');
function selectAll(SelectAllCheckBox) {
  var i = 0;
  if (SelectAllCheckBox.checked) {
    while (i < getCheckBox.length) {
      getCheckBox[i].checked = true;
      i++
    }
  } else {
    while (i < getCheckBox.length) {
      getCheckBox[i].checked = false;
      i++
    }
  }
}
<label><input type="checkbox" onchange="selectAll(this)">Select All</label><br><br>
<div>
  <label><input type="checkbox" class="checkbox">checkbox 1</label><br>
  <label><input type="checkbox" class="checkbox">checkbox 2</label><br>
  <label><input type="checkbox" class="checkbox">checkbox 3</label><br>
  <label><input type="checkbox" class="checkbox">checkbox 4</label><br>
  <label><input type="checkbox" class="checkbox">checkbox 5</label><br>
  <label><input type="checkbox" class="checkbox">checkbox 6</label><br>
</div>

关于javascript - 选择全部不取消选择所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43493062/

相关文章:

javascript - react JS : Check Email Id is valid or not along with comma separated email id

html - css 复选框比例在 os x 上不能很好地缩放

JQuery 删除标签复选框

javascript - EXTJS 如何交换两个子节点的顺序?

javascript - 将 div 中的所有表格附加到主体上

javascript - 防止特定的默认操作

html - 在 ssl 下提供 http 内容

javascript - JSTL 复选框不起作用

python - 在 pyqt 中使用复选框

javascript - d3 选择与 exit() 和 remove() 混淆