• javascript文本全选,反选,多选


    1.首先还是要创建一个案例文件

    <div id="one">请选择爱好:
    <input type="checkbox" id="check">全选/全不选
    <br>
    <input type="checkbox" name="hobby">英语
    <input type="checkbox" name="hobby">登山
    <input type="checkbox" name="hobby">游泳
    <input type="checkbox" name="hobby">阅读
    <input type="checkbox" name="hobby">跑步
    <input type="checkbox" name="hobby">打球
    <div class="c1">
    <button class="b1" onclick="setall1()">全选</button>
    <button class="b1" onclick="setnoall()">全不选</button>
    <button class="b1" onclick="setfan()">反选</button>
    <button class="b1" onclick="take()">提交</button>

    </div>

    2.先做全选

    全选比较的简单,我们只要记住input checkbox的checked对象,并对它进行使用就行了

     var hobby=document.getElementsByName("hobby");
    var whole=document.getElementById("check");


    //全选
    function setall1() {
    for(let i=0;i<hobby.length;i++){
    hobby[i].checked=true;
    }
    whole.checked=true;
    }

    首先我们要获得爱好这个对象,因为前面有相同的name,所以要用

    getElementsByName
    全选其实很简单就是遍历我们这个对象的数组,然后进行checked,注意checked是boolean

    3.在做全不选
    全不选和全选是一样的思想,这里不做过多的描述
    上代码
    function setnoall() {
    for (let i=0;i<hobby.length;i++){
    hobby[i].checked=false;
    }
    whole.checked=false;
    }








    4.反选,
    反选的思维其实很简单,就是我一旦选择了这个(就是true),那我就false它
    function setfan() {
    for (let i=0;i<hobby.length;i++){
    if (hobby[i].checked==true){
    hobby[i].checked=false;
    }else if (hobby[i].checked==false){
    hobby[i].checked=true;
    }

    }










    5.input之全选和全不选
    这里的
    hobby[i].onclick=function () {
    whole.checked=true;
    for (let j=0;j<hobby.length;j++){
    if(hobby[j].checked==false){
    whole.checked=false;

    //一旦进入判断就得出结果,登山没有选择的话,循环就直接结束
    break;
    }
    解释一下,我们点击的的时候,先把他们全部选中,在进入for循环进行遍历,如果
    有一个没有选中,那就是直接返回false。
    whole.onclick=function () {


    for (let i=0;i<hobby.length;i++) {
    if ( hobby[i].checked==false ) {
    hobby[i].checked = true;
    }else {
    hobby[i].checked=false;
    }
    }
    }

    //如果四个多选框全部选择,上面的whole也选中
    for (let i=0;i<hobby.length;i++){


    hobby[i].onclick=function () {
    whole.checked=true;
    for (let j=0;j<hobby.length;j++){
    if(hobby[j].checked==false){
    whole.checked=false;

    //一旦进入判断就得出结果,登山没有选择的话,循环就直接结束
    break;
    }
    }
    }
  • 相关阅读:
    大前端完整学习路线(详解)
    浅谈攻击Web应用常见的技术手段
    浅谈XSS跨站脚本攻击
    利用SQL注入漏洞登录后台
    1、MyBatis框架底层初涉
    1、用静态工厂方法代替构造器
    日志管理-log4j与slf4j的使用
    Java的值类型和引用类型
    自动任务调度
    2、Hibernate持久化编写
  • 原文地址:https://www.cnblogs.com/wyy121/p/13910239.html
Copyright © 2020-2023  润新知