基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)

下面我将为您详细讲解“基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)”的完整攻略。

什么是动态增删改查表格信息

动态增删改查表格信息指的是通过使用jQuery等前端框架,实现在页面上展现一张表格,并通过添加、删除、修改和查询等操作,动态地对表格中的数据进行增删改查。这一功能的实现可以让用户更加方便地查看和操作页面上的数据。

实现动态增删改查表格信息的步骤

下面我将为您介绍实现动态增删改查表格信息的步骤。

1. 准备HTML结构

首先需要准备HTML结构,其中包括表格的基本结构和用于输入数据的表单等。

<table id="mytable">
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>操作</th>
    </tr>
  </thead>
  <tbody></tbody>
</table>

<form>
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name">
  <label for="age">年龄:</label>
  <input type="text" id="age" name="age">
  <input type="button" value="添加" id="add">
</form>

2. 配置jQuery

需要在页面中引入jQuery库,并编写jQuery代码实现增删改查的操作。

<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>

<script>
  $(function() {
    // 在这里编写增删改查等操作代码
  });
</script>

3. 实现动态增加数据

可以在“添加”按钮的click事件中,获取表单中的数据,并将数据添加到表格中,从而实现动态增加数据。示例代码如下:

$('#add').click(function() {
  var name = $('#name').val();
  var age = $('#age').val();
  if (!name || !age) return;
  var tr = '<tr><td>'+ name +'</td><td>'+ age +'</td><td><a href="javascript:" class="delete">删除</a></td></tr>';
  $('#mytable tbody').append(tr);
});

4. 实现动态删除数据

可以将表格中每一行的删除按钮的click事件委托给父元素,从而实现动态删除数据。示例代码如下:

$('#mytable tbody').on('click', '.delete', function() {
  $(this).closest('tr').remove();
});

5. 实现动态修改数据

可以将表格中每一行的数据双击事件委托给父元素,从而实现动态修改数据。示例代码如下:

$('#mytable tbody').on('dblclick', 'tr:not(.editing)', function() {
  var tds = $(this).find('td');
  var name = tds.eq(0).text();
  var age = tds.eq(1).text();
  var inputs = '<input type="text" value="'+ name +'" data-field="name"><input type="text" value="'+ age +'" data-field="age">';
  tds.html(inputs);
  $(this).addClass('editing');
});

$('#mytable tbody').on('blur', 'input', function() {
  var td = $(this).parent();
  var value = $(this).val();
  var field = $(this).data('field');
  td.html(value);
  td.closest('tr').removeClass('editing');
});

6. 实现动态查询数据

可以编写一个过滤函数,用于实现动态查询数据。示例代码如下:

$('#query').on('input', function() {
  var keyword = $(this).val();
  $('#mytable tbody tr').each(function() {
    var tr = $(this);
    var content = tr.text();
    if (content.indexOf(keyword) !== -1) {
      tr.show();
    } else {
      tr.hide();
    }
  });
});

示例

下面是一个基于jQuery的动态增删改查表格的完整示例,您可以在此基础上进行扩展和定制。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>动态增删改查表格信息</title>
  <style>
    #mytable {
      border-collapse: collapse;
      margin-bottom: 20px;
    }
    #mytable th,
    #mytable td {
      border: 1px solid #ccc;
      padding: 5px;
    }
    #mytable td:first-child {
      width: 100px;
    }
    #myform label {
      display: inline-block;
      width: 40px;
    }
    #myform input[type=text] {
      margin-right: 10px;
    }
    #query {
      font-size: 14px;
      padding: 5px 10px;
      border: 1px solid #ccc;
      border-radius: 3px;
      margin-bottom: 20px;
    }
    .editing input[type=text] {
      width: 80px;
    }
  </style>
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
  <table id="mytable">
    <thead>
      <tr>
        <th>姓名</th>
        <th>年龄</th>
        <th>操作</th>
      </tr>
    </thead>
    <tbody></tbody>
  </table>

  <form id="myform">
    <label for="name">姓名:</label>
    <input type="text" id="name" name="name">
    <label for="age">年龄:</label>
    <input type="text" id="age" name="age">
    <input type="button" value="添加" id="add">
  </form>

  <input type="text" id="query" placeholder="查询姓名">

  <script>
    $(function() {
      $('#add').click(function() {
        var name = $('#name').val();
        var age = $('#age').val();
        if (!name || !age) return;
        var tr = '<tr><td>'+ name +'</td><td>'+ age +'</td><td><a href="javascript:" class="delete">删除</a></td></tr>';
        $('#mytable tbody').append(tr);
      });

      $('#mytable tbody').on('click', '.delete', function() {
        $(this).closest('tr').remove();
      });

      $('#mytable tbody').on('dblclick', 'tr:not(.editing)', function() {
        var tds = $(this).find('td');
        var name = tds.eq(0).text();
        var age = tds.eq(1).text();
        var inputs = '<input type="text" value="'+ name +'" data-field="name"><input type="text" value="'+ age +'" data-field="age">';
        tds.html(inputs);
        $(this).addClass('editing');
      });

      $('#mytable tbody').on('blur', 'input', function() {
        var td = $(this).parent();
        var value = $(this).val();
        var field = $(this).data('field');
        td.html(value);
        td.closest('tr').removeClass('editing');
      });

      $('#query').on('input', function() {
        var keyword = $(this).val();
        $('#mytable tbody tr').each(function() {
          var tr = $(this);
          var content = tr.text();
          if (content.indexOf(keyword) !== -1) {
            tr.show();
          } else {
            tr.hide();
          }
        });
      });
    });
  </script>
</body>
</html>

上面的示例实现了一个简单的动态增删改查表格,并添加了查询功能和行内编辑功能。您可以通过页面中的输入框进行姓名的查询,也可以通过双击某行数据编辑对应信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay) - Python技术站

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

相关文章

  • Android四大组件之Service详解

    Android四大组件之Service详解 在Android开发中,Service是非常重要的四大组件之一。它可以在后台执行一些操作,不需要与用户交互。本篇攻略将详细讲解Service的相关内容,包括什么是Service,Service的生命周期,如何开启和停止Service,如何使用bindService方法以及如何在Service中处理耗时操作等。 什么…

    other 2023年6月27日
    00
  • BJDCTF 2nd web

    BJDCTF 2nd web是一场网络安全比赛中的一道Web题目,本文将提供完整攻略,包括题目分析、解题思路和具体实现方法,并提供两个示例说明。 题目分析 题目描述:给定一个网站,其中包含一个登录页面和一个用户信息页面。用户需要在登录页面输入正确的用户名和密码才能进入用户信息页面。但是,该网站存在一个漏洞,可以通过绕过登录验证来直接访问用户信息页面。 解题思…

    other 2023年5月5日
    00
  • SpringBoot Admin健康检查功能的实现

    针对“SpringBoot Admin健康检查功能的实现”的完整攻略,我来详细讲解下。 1. SpringBoot Admin SpringBoot Admin是一个管理和监控SpringBoot应用的开源框架,它提供了用户友好的Web UI界面来查看和管理SpringBoot应用程序。它还提供了实时监视和通知等功能,并支持JMX-over-WebSocke…

    other 2023年6月27日
    00
  • eclipse如何创建web项目

    Eclipse如何创建Web项目 Eclipse是一种常用的集成开发环境(IDE),它可以帮助开发者更高效地写Java Web应用程序。本文将介绍如何在Eclipse中创建Web项目,提供两个示例说明。 步骤一:安装Eclipse 首先,我们需要从Eclipse官网下载Eclipse的最新版本,按照官方文档进行安装。 步骤二:创建Web项目 以下是一些常用的…

    other 2023年5月9日
    00
  • Android中View自定义组合控件的基本编写方法

    当我们需要实现某种特定的功能,而已有的控件无法满足时,我们就需要用到View自定义组合控件。下面是一些基本的编写方法: 第一步:创建一个新的类,继承自ViewGroup 一个ViewGroup是多个View的容器,它可以包含其他的View或ViewGroup,如LinearLayout、RelativeLayout等。如果我们要实现一个新的组合控件,那么我们…

    other 2023年6月25日
    00
  • latex使用markdown

    LaTeX使用Markdown LaTeX和Markdown都是文本编辑器,但它们的设计目标和应用场景有所不同。Markdown更加注重轻量级和易用性,用于快速、便捷地书写和分享文本;而LaTeX则致力于高质量的排版,适用于科学、技术和学术领域的论文、书籍和报告等文档。然而,通过Markdown可以轻松地写出LaTeX表达式,从而将Markdown和LaTe…

    其他 2023年3月28日
    00
  • win11如何打开开发者模式?三种win11启用开发人员模式方法

    当我们在使用 Windows 11 操作系统时,有时需要开启开发者模式来进行一些特殊的操作或者调试软件等场景。下面我就来为大家讲解三种不同的方法打开开发者模式。其中的方法均适用于 Windows 11 操作系统。 方法一:在设置中打开 首先,我们需要进入 Windows 11 操作系统的“设置”应用。可以通过单击“开始”菜单中的齿轮图标或者使用快捷键 Win…

    other 2023年6月26日
    00
  • 如何使用git拉取代码及提交代码(详细)

    如何使用git拉取代码及提交代码(详细) Git是一种版本控制工具,作为一个网站开发者,我们需要经常使用Git来管理代码,并且需要熟练掌握Git的使用。在这篇文章里,我们将会详细介绍如何使用Git拉取代码并提交代码。 拉取代码 在使用Git之前,我们需要先安装Git并进行初步配置。然后,我们可以使用以下命令来克隆一个远程仓库: git clone [仓库地址…

    其他 2023年3月29日
    00
合作推广
合作推广
分享本页
返回顶部