javaScript checkbox 全选/反选及批量删除

yizhihongxing

下面我来详细讲解一下“JavaScript checkbox 全选/反选及批量删除”的完整攻略。

核心思路

JavaScript实现checkbox全选/反选及批量删除的核心思路如下:

  1. 获取页面上所有的checkbox元素,并添加相应的事件监听函数;
  2. 创建一个“全选”checkbox元素,点击全选时,遍历所有checkbox,将它们的checked属性设置为全选checkbox的checked属性值;
  3. 创建一个“反选”checkbox元素,点击反选时,遍历所有checkbox,将它们的checked属性设置为 !checkbox.checked;
  4. 获取删除按钮元素,监听它的点击事件,并在点击时遍历所有checkbox,将选中的checkbox所对应的数据进行删除。

示例代码

示例1:全选/反选

下面是实现全选/反选的示例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>全选/反选示例</title>
    <script>
      function selectAll() {
        var all = document.getElementById('all');
        var checkboxes = document.querySelectorAll('input[type="checkbox"]');
        for (var i = 0; i < checkboxes.length; i++) {
          checkboxes[i].checked = all.checked;
        }
      }

      function invert() {
        var checkboxes = document.querySelectorAll('input[type="checkbox"]');
        for (var i = 0; i < checkboxes.length; i++) {
          checkboxes[i].checked = !checkboxes[i].checked;
        }
      }
    </script>
  </head>
  <body>
    <label><input type="checkbox" name="check1">选项1</label>
    <label><input type="checkbox" name="check2">选项2</label>
    <label><input type="checkbox" name="check3">选项3</label>
    <label><input type="checkbox" name="check4">选项4</label>
    <hr>
    <label><input type="checkbox" id="all" onchange="selectAll()">全选</label>
    <label><input type="checkbox" onchange="invert()">反选</label>
  </body>
</html>

注意以上代码中的两个自定义函数 selectAll()invert(),它们分别实现了全选和反选的功能。其中 selectAll() 函数中,我们使用了 querySelectorAll() 函数获取页面上所有的checkbox元素,并且在遍历时,将它们的checked属性设置为“全选”checkbox元素的checked属性值。

示例2:批量删除

下面是实现批量删除的示例代码:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>批量删除示例</title>
    <script>
      function deleteSelected() {
        var checkboxes = document.querySelectorAll('input[type="checkbox"]:checked');
        for (var i = 0; i < checkboxes.length; i++) {
          // 删除checkbox对应的数据
          var data = checkboxes[i].parentNode.textContent.trim();
          console.log('删除数据:', data);
          // 从DOM中删除checkbox
          checkboxes[i].parentNode.remove();
        }
      }
    </script>
  </head>
  <body>
    <ul>
      <li><label><input type="checkbox">选项1</label></li>
      <li><label><input type="checkbox">选项2</label></li>
      <li><label><input type="checkbox">选项3</label></li>
      <li><label><input type="checkbox">选项4</label></li>
      <li><label><input type="checkbox">选项5</label></li>
    </ul>
    <hr>
    <button onclick="deleteSelected()">删除选中项</button>
  </body>
</html>

以上代码中,我们使用了 querySelectorAll() 函数获取所有被选中的checkbox,然后遍历这些checkbox,并将其对应的数据从DOM中删除。以上示例中,我们使用了ul-li列表,每个li元素中都嵌套了一个checkbox和一个文本节点。我们通过遍历被选中的checkbox的parentNode,以获取其对应的文本节点,从而可以删除它们所对应的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javaScript checkbox 全选/反选及批量删除 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • vue2.x 从vue.config.js配置到项目优化

    Vue.js是现今最流行的前端框架之一,它提供了方便易用的API和模板语法,让我们可以专注于应用的业务逻辑开发。 但是,在实际的开发过程中,我们也需要优化项目的性能,提高开发效率。下面,我们将从vue.config.js配置和项目优化两个方面详细讲解。 一、vue.config.js配置 vue-cli提供了vue.config.js配置文件,可以用来配置w…

    css 2023年6月9日
    00
  • webstorm怎么创建php文件?webstorm创建php文件教程以及快捷键大全

    WebStorm 是一款强大的 IDE,它不仅支持 JavaScript,还支持 PHP 等多种编程语言。下面详细讲解如何在 WebStorm 中创建 PHP 文件,以及 WebStorm 的快捷键大全。 创建 PHP 文件 新建项目 在 WebStorm 中创建 PHP 文件需要先新建一个项目: 打开 WebStorm,选择 Create New Proj…

    css 2023年6月9日
    00
  • CSS3实现双圆角Tab菜单

    以下是“CSS3实现双圆角Tab菜单”的完整攻略: 1. 定义HTML结构 我们需要一个包含多个Tab的容器,在容器内部每个Tab有一个链接,用于唤起Tab内容的显示和隐藏。可以使用一个无序列表(ul)和多个列表项(li)来实现这个效果,示例如下: <ul class="tab-menu"> <li><a h…

    css 2023年6月10日
    00
  • css属性行高line-height的用法详解

    让我来详细讲解一下“CSS属性行高line-height的用法详解”。 什么是行高line-height? 行高(line-height)是CSS属性之一,是指一行文字内容所占的高度,包括文字的高度和行中间(顶部)空隙的高度。 行高line-height的取值方式 行高可以使用百分数、像素或其他单位进行定义。行高的默认值通常为“normal”,根据用户代理(…

    css 2023年6月10日
    00
  • JS弹出层的显示与隐藏示例代码

    JS弹出层是Web开发中非常常见的一个功能。下面,我们来详细讲解如何实现JS弹出层的显示与隐藏。 1. HTML结构 首先,我们需要进行HTML结构的搭建。以下是一个最基础的HTML结构: <!–触发弹出层的按钮–> <button id="showBtn">显示弹出层</button> <!…

    css 2023年6月11日
    00
  • css固定表头、行头样式代码

    要实现CSS固定表头、行头样式,一般采用CSS中的position属性。下面是完整攻略: 样式代码 table { width: 100%; border-collapse: collapse; border-spacing: 0; } thead, tbody, tr, td, th { display: block; } tr:after { conte…

    css 2023年6月10日
    00
  • css元素隐藏原理及display:none和visibility:hidden

    CSS元素隐藏指的是将网页中的某些元素隐藏,以达到特定的设计目的或者实现特定的功能需求。实现元素的隐藏,主要使用的两个CSS属性是”display”和”visibility”。下面我们会详细讲解它们的原理及使用方法。 display:none “display:none”是最常见的隐藏元素的方式,它可以让元素不占据任何空间,从而完全隐藏该元素。使用该属性时,…

    css 2023年6月10日
    00
  • 基于jQuery实现的菜单切换效果

    下面是关于”基于jQuery实现的菜单切换效果”的详细攻略: 构建菜单 首先需要构建一个菜单的页面结构,通常使用HTML语言实现。比如以下例子: <div class="menu"> <ul> <li><a href="#" data-target=".page1&q…

    css 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部