当前位置:网站首页>原生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()
}
}
边栏推荐
- QT simulates mouse events and realizes clicking, double clicking, moving and dragging
- SF smart logistics Campus Technology Challenge (no T4)
- Share an example of running dash application in raspberry pie.
- Socket communication
- Li Kou: the 81st biweekly match
- B - Code Party (girls' competition)
- (POJ - 3685) matrix (two sets and two parts)
- Codeforces Round #803 (Div. 2)A~C
- Basic Q & A of introductory C language
- Quick to typescript Guide
猜你喜欢
1689. Ten - the minimum number of binary numbers
Pull branch failed, fatal: 'origin/xxx' is not a commit and a branch 'xxx' cannot be created from it
读取和保存zarr文件
Codeforces Round #799 (Div. 4)A~H
D - function (HDU - 6546) girls' competition
Basic Q & A of introductory C language
Install Jupiter notebook under Anaconda
OneForAll安装使用
QT实现窗口置顶、置顶状态切换、多窗口置顶优先关系
Installation and use of VMware Tools and open VM tools: solve the problems of incomplete screen and unable to transfer files of virtual machines
随机推荐
浏览器打印边距,默认/无边距,占满1页A4
Luogu P1102 A-B number pair (dichotomy, map, double pointer)
Configuration du cadre flask loguru log Library
OneForAll安装使用
AcWing:第56场周赛
409. Longest palindrome
Basic Q & A of introductory C language
Educational Codeforces Round 130 (Rated for Div. 2)A~C
C language is the watershed between low-level and high-level
QT实现窗口置顶、置顶状态切换、多窗口置顶优先关系
Auto.js入门
Determine the Photo Position
Anaconda下安装Jupyter notebook
useEffect,函數組件掛載和卸載時觸發
Kubernetes cluster deployment
< li> dot style list style type
pytorch提取骨架(可微)
Useeffect, triggered when function components are mounted and unloaded
antd upload beforeUpload中禁止触发onchange
2078. Two houses with different colors and the farthest distance