本文提供一段JavaScript代码,演示如何通过DOM操作实现input标签中checkbox的全选与反选功能。代码包含获取元素、判断选中状态及批量设置checked属性的逻辑,适用于需要批量选择列表项的前端场景。
JS实现Checkbox全选与反选功能代码
以下展示具体实现代码:
<html>
<head>
< >
function selectAll(){
var checklist = document.getElementsByName ("selected");//获取所有name值为selected的标签
if(document.getElementById("controlAll").checked){//判断当id为controlAll的标签是否被选中
for(var i=0;i<checklist.length;i++){
checklist[i].checked = true;//当被选中时,则获取所有name值为selected的标签都被选中
}
}else{
for(var j=0;j<checklist.length;j++){
checklist[j].checked = false;//当不被选中时,则获取所有name值为selected的标签都不被选中
}
}
}
</ >
</head>
<body>
<form>
<input ="selectAll()" type="checkbox" name="controlAll" style="controlAll" id="controlAll"/>全选<br>
1:<input ="heheda()" type="checkbox" name="selected" value="1"/><br>
2:<input ="heheda()" type="checkbox" name="selected" value="2"/><br>
3:<input ="heheda()" type="checkbox" name="selected" value="3"/><br>
4:<input ="heheda()" type="checkbox" name="selected" value="4"/><br>
5:<input ="heheda()" type="checkbox" name="selected" value="5"/><br>
6:<input ="heheda()" type="checkbox" name="selected" value="6"/><br>
</form>
< type="text/ ">
function heheda(){
var controlAll = document.getElementById("controlAll");//获取id值为controlAll的标签
var checklists = document.body.querySelectorAll("input[type='checkbox']").length;//获取所有格式为checkbox的input标签的数量
var selectedLength=document.body.querySelectorAll("input[name=selected]:checked").length;//获取所有name值为selected,并且已经被选中的input标签的数量
if(controlAll.checked){//判断当id为controlAll的标签是否被选中
controlAll.checked = false;//当被选中时,则自动取消id为controlAll的标签选中
}else{
if(selectedLength == checklists-1){//当不被选中时,判断当获取所有name值为selected,并且已经被选中的input标签的数量 与 获取所有格式为checkbox的input标签的数量-1 是否相等
controlAll.checked = true;//如果相等,则自动选中id为controlAll的标签
}
}
}
</ >
</body>
</html>
上述内容为JS实现input标签checkbox全选功能的代码示例,旨在提供帮助。若有任何疑问,欢迎留言,小编将及时回复。衷心感谢对本站的支持!