相思资源网 Design By www.200059.com
本文实例为大家分享了js/jQuery两种代码实现全选效果的具体代码,供大家参考,具体内容如下
注意点
在获取子选框的时候别加上 全选框的个数了
技巧
找 tbody 下面的input标签 就可以
jq文件夹自己下载即可
思路
var all=my$("j_tb").getElementsByTagName("input");
// alert(all.length);
//实现1 点击全选 子选框都得被全选
/**
*
* 点击全选框 判断全选框的checked是否为真 为真 遍历所有子选框 设置所有子选框的checked=true; true不用加""
*
*
*/
my$("j_cbAll").onclick=function(){
if(j_cbAll.checked)
{
for(var i=0;i<all.length;i++)
{
all[i].checked=true;
}
}
else{
for(var i=0;i<all.length;i++)
{
all[i].checked=false;
}
}
}
//实现2 选择所有的子选框 全选框勾选
var arr=[];
for(var i=0;i<all.length;i++)
{
all[i].onclick=function(){
//思路过程
/**
* 创建数组
* 点击每个子选框
* 1.数组清零
* 2.fou循环所有自选框 判断是否被选中(all[i].checked) 选中的元素加入新的数组(arr.push(all[i]))里面
* 3.判断新的数组长度是否等于子选框数组长度 是的话 全选框被选中(my$("j_cbAll").checked=true) 否则相反
*/
arr=[];
for(var i=0;i<all.length;i++)
if(all[i].checked)
{
arr.push(all[i]);
}
console.log(arr.length);
if(arr.length==all.length){
my$("j_cbAll").checked=true;
}
else{
my$("j_cbAll").checked=false;
}
}
}
</script>
<!-- <script src="/UploadFiles/2021-04-02/jquery-1.12.4.js">
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
* {
padding: 0;
margin: 0;
}
.wrap {
width: 300px;
margin: 100px auto 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
border: 1px solid #c0c0c0;
width: 300px;
}
th,
td {
border: 1px solid #d0d0d0;
color: #404060;
padding: 10px;
}
th {
background-color: #09c;
font: bold 16px "微软雅黑";
color: #fff;
}
td {
font: 14px "微软雅黑";
}
tbody tr {
background-color: #f0f0f0;
text-align: center;
}
tbody tr:hover {
cursor: pointer;
background-color: #fafafa;
}
</style>
</head>
<body>
<div class="wrap">
<table>
<thead>
<tr>
<th>
<input type="checkbox" id="j_cbAll"/>
</th>
<th>菜名</th>
<th>饭店</th>
</tr>
</thead>
<tbody id="j_tb">
<tr>
<td>
<input type="checkbox"/>
</td>
<td>红烧肉</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>西红柿鸡蛋</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>红烧狮子头</td>
<td>田老师</td>
</tr>
<tr>
<td>
<input type="checkbox"/>
</td>
<td>日式肥牛</td>
<td>田老师</td>
</tr>
</tbody>
</table>
</div>
<script type="text/javascript">
function my$(id)
{
return document.getElementById(id);
}
var all=my$("j_tb").getElementsByTagName("input");
// alert(all.length);
//实现1 点击全选 子选框都得被全选
/**
*
* 点击全选框 判断全选框的checked是否为真 为真 遍历所有子选框 设置所有子选框的checked=true; true不用加""
*
*
*/
my$("j_cbAll").onclick=function(){
if(j_cbAll.checked)
{
for(var i=0;i<all.length;i++)
{
all[i].checked=true;
}
}
else{
for(var i=0;i<all.length;i++)
{
all[i].checked=false;
}
}
}
//实现2 选择所有的子选框 全选框勾选
var arr=[];
for(var i=0;i<all.length;i++)
{
all[i].onclick=function(){
//思路过程
/**
* 创建数组
* 点击每个子选框
* 1.数组清零
* 2.fou循环所有自选框 判断是否被选中(all[i].checked) 选中的元素加入新的数组(arr.push(all[i]))里面
* 3.判断新的数组长度是否等于子选框数组长度 是的话 全选框被选中(my$("j_cbAll").checked=true) 否则相反
*/
arr=[];
for(var i=0;i<all.length;i++)
if(all[i].checked)
{
arr.push(all[i]);
}
console.log(arr.length);
if(arr.length==all.length){
my$("j_cbAll").checked=true;
}
else{
my$("j_cbAll").checked=false;
}
}
}
</script>
<!-- <script src="/UploadFiles/2021-04-02/jquery-1.12.4.js">
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
js,jQuery,全选
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无js/jQuery实现全选效果的评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。