当前位置:网站首页>原生js实现全选和反选的功能 --冯浩的博客
原生js实现全选和反选的功能 --冯浩的博客
2022-07-06 09:29:00 【冯浩(grow up)】
思路:首先我们获取节点
遍历每个节点 获取到checked的属性
然后我们通过改变checked的属性改变选中的状态
全选的时候我们让他们都为true
反选的时候我们使用!达到效果

本次使用到的知识点有:
document.getElementsByName(‘name属性’):选中所有的name为name属性的的元素节点对象
document.getElementById('id名称'): 通过id名称获取一个元素节点对象
onclick:鼠标点击事件
html部分:
<input id = 'quan' type="checkbox" value = '全选'> 全选
<input type="checkbox" name="items" value="足球" >足球
<input type="checkbox" name="items" value="篮球" >篮球
<input type="checkbox" name="items" value="羽毛球" >羽毛球
<input id= "fan" type="checkbox" value="反选">反选
js部分
var items = document.getElementsByName('items');
var quan = document.getElementById('quan');
var fan = document.getElementById('fan');
function fan1(){
var index = 0;
for(var i =0;i<items.length;i++){
items[i].checked = !items[i].checked;
if(items[i].checked==true){
index ++;
}
}
if(index == 3){
quan.checked = true;
}else{
quan.checked =false;
}
}
quan.onclick=function(){
if(quan.checked ==true){
console.log(items[0].checked);
for(var i = 0;i < items.length;i++){
console.log(items[i].checked);
items[i].checked = true;
fan.checked=false;
}
} else{
for(var i = 0;i < items.length;i++){
// console.log(items[i].checked);
items[i].checked = !true;
fan.checked=false;
}
}
};
fan.onclick =function(){
if(fan.checked== true){
fan1()
}else{
fan1()
}
}

边栏推荐
- Candy delivery (Mathematics)
- 拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it
- Click QT button to switch qlineedit focus (including code)
- Frida hook so layer, protobuf data analysis
- Auto.js入门
- QT按钮点击切换QLineEdit焦点(含代码)
- Codeforces Round #799 (Div. 4)A~H
- pytorch提取骨架(可微)
- Share an example of running dash application in raspberry pie.
- 浏览器打印边距,默认/无边距,占满1页A4
猜你喜欢

(POJ - 3579) median (two points)

拉取分支失败,fatal: ‘origin/xxx‘ is not a commit and a branch ‘xxx‘ cannot be created from it
Quick to typescript Guide

1855. Maximum distance of subscript alignment

VMware Tools和open-vm-tools的安装与使用:解决虚拟机不全屏和无法传输文件的问题

<li>圆点样式 list-style-type

Install Jupiter notebook under Anaconda

Openwrt build Hello ipk

Write web games in C language

Pyside6 signal, slot
随机推荐
Problem - 922D、Robot Vacuum Cleaner - Codeforces
Opencv learning log 28 -- detect the red cup cover
树莓派4B安装opencv3.4.0
日期加1天
Socket communication
Codeforces Round #800 (Div. 2)AC
Candy delivery (Mathematics)
Codeforces Round #798 (Div. 2)A~D
HDU - 6024 building shops (girls' competition)
input 只能输入数字,限定输入
Kubernetes集群部署
Opencv learning log 24 -- Hough transform 2 (maximum interval and minimum length can be limited)
Calculate the time difference
1013. Divide the array into three parts equal to and
The "sneaky" new asteroid will pass the earth safely this week: how to watch it
1323. Maximum number of 6 and 9
顺丰科技智慧物流校园技术挑战赛(无t4)
AcWing:第56场周赛
Codeforces Round #803 (Div. 2)A~C
Useeffect, triggered when function components are mounted and unloaded