全選、全不選、反選功能的實現
阿新 • • 發佈:2021-01-27
技術標籤:前端jsjavascriptcheckboxcsshtml
全選、全不選、反選
實現的功能是:
選中下面全選框,全部的框都會選中,反之就會全不選中;
當點選反選按鈕時,選擇框中的選框狀態置反,選中的變為沒選中,沒選中變為選中
直接上程式碼:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>全選、全不選、反選</title>
</head>
<body>
< form action="">
<p><input type="checkbox"name=""id="" />熊大</p>
<p><input type="checkbox"name=""id="" />翠花</p>
<p><input type="checkbox"name=""id="" />光頭強</ p>
<p><input type="checkbox"name=""id="" />喜洋洋</p>
</form>
<button onclick="checkall(0)">全選</button>
<button onclick="checkall(1)">全不選</button>
<button onclick="checkall(2)">反選</ button>
<!--<script type="text/javascript">
//選中的三個表現形式,①使用者選中;②標籤中的checked屬性③js中checked屬性為ture
let but = document.getElementsByTagName('button');
let inp = document.getElementsByTagName('input');
//1.全選
but[0].onclick = function(){
for (let i = 0; i < inp.length; i++) {
inp[i].checked = true;
}
}
//2.全不選
but[1].onclick = function(){
for (let i = 0; i < inp.length; i++) {
inp[i].checked = false;
}
}
//3.反選
but[2].onclick = function(){
for (let i = 0; i < inp.length; i++) {
inp[i].checked = !inp[i].checked;
}
}
</script>-->
<!--方法二: 優化程式碼-->
<script type="text/javascript">
let but = document.getElementsByTagName('button');
let inp = document.getElementsByTagName('input');
function checkall(num){
for (let i = 0; i < inp.length; i++) {
if (num == 0) {//全選
inp[i].checked = true;
}
if (num == 1) {//全不選
inp[i].checked = false;
}
if (num == 2) {//反選
inp[i].checked = !inp[i].checked;
}
}
}
</script>
</body>
</html>
效果如下: