摘要:看起来很简单的一个小练习却做了半天,代码却并不多,看来还得多多练习,温故而知新。我好像没记得checkbox和label的用法?是不是前面没讲还是我漏看了?老师我发现几个问题麻烦解答一下,谢谢:1 --true和false可以分别用非0 和 0代替,也不能加引号,否则会被认为是字符串,类型就变成true了,是这么理解吗?2 &nbs
看起来很简单的一个小练习却做了半天,代码却并不多,看来还得多多练习,温故而知新。
我好像没记得checkbox和label的用法?是不是前面没讲还是我漏看了?
老师我发现几个问题麻烦解答一下,谢谢:
1 --true和false可以分别用非0 和 0代替,也不能加引号,否则会被认为是字符串,类型就变成true了,是这么理解吗?
2 -- if (ocheckall.checked),这个括号内的内容不是判断是否点击了选择框的意思吗?为什么不能写成ocheckall.checked=true??
3 --name可以当id或class来用吗?如果可以,name的css选择器是什么呢?
全选功能的js代码主要实现方法:
绑定元素、声明函数,for循环向数组内添加数据、if else语句控制checked值为true或false、用onclick方法调用函数。
涉及到的其它知识有:label中用for+"id名"绑定点击的范围;
实现结果:
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Document</title>
<style>
#box {
color: grey;
margin: 20px auto;
text-align: center;
width: 200px;
height: 300px;
border: 3px solid rgb(102, 219, 7);
border-radius: 10px;
box-shadow: 0px 0px 25px rgb(110, 11, 230);
}
hr {
width: 80%;
border-color: rgb(9, 131, 153);
box-shadow: 0px 0px 5px rgb(30, 216, 197);
}
.checkarea {
font-size: 25px;
text-align: left;
width: 70%;
height: 80%;
margin: 0 auto;
padding-top: 10px;
padding-left: 20px;
border-radius: 20px;
background: rgb(236, 202, 10);
box-shadow: 0px 10px 15px rgb(141, 143, 139);
}
</style>
<script>
function ckall() {
ocheckall = document.getElementById("checkall");
oipt = document.getElementsByName("ipt");
obox = document.getElementById("box");
for (var i = 0; i < oipt.length; i++) {
if (ocheckall.checked) {
oipt[i].checked = true;
obox.style.color = "green";
} else {
oipt[i].checked = false;
obox.style.color = "grey";
}
}
}
</script>
</head>
<body>
<div id="box">
<input type="checkbox" id="checkall" onclick="ckall()" />
<label for="checkall">全选</label>
<hr />
<div class="checkarea">
<div><input type="checkbox" name="ipt" />html</div>
<div><input type="checkbox" name="ipt" />css</div>
<div><input type="checkbox" name="ipt" />javascript</div>
<div><input type="checkbox" name="ipt" />php</div>
<div><input type="checkbox" name="ipt" />vue.js</div>
</div>
</div>
</body>
</html>
批改老师:天蓬老师批改时间:2018-12-04 09:05:12
老师总结:checkbox的name属性, 通过会用数组语法, 你可以试试看,这样可以简化