基于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日

相关文章

  • python中日期和时间格式化输出的方法

    当涉及到日期和时间处理时,格式化是一个非常重要的过程。在Python中,我们可以使用strftime函数将日期和时间格式化成我们想要的方式。 基本理解 在Python中,我们可以将日期和时间表示为datetime对象。它们包括年、月、日、时、分、秒和微秒。可以使用一系列格式代码将这些日期和时间元素格式化为所需的字符串。 以下是一些常用的日期和时间格式化代码:…

    其他 2023年4月16日
    00
  • 苹果手机卡住了无法重启怎么办 5种方法快速使手机恢复开机

    下面我来详细讲解“苹果手机卡住了无法重启怎么办 5种方法快速使手机恢复开机”的完整攻略。 标题 苹果手机卡住了无法重启怎么办 5种方法快速使手机恢复开机 正文 1. 硬重启 当苹果手机出现卡死无响应的情况时,这时候最常用的方法就是硬重启。硬重启是将手机电源按键和主屏幕按键同时按住,并保持3-5秒钟,直到手机屏幕黑屏后松开按键。这时候手机会自动重新开机,并回到…

    other 2023年6月27日
    00
  • c#winformdevexpress上传图片到数据库【转】

    C# Winform DevExpress上传图片到数据库【转】 在C# Winform开发中,经常需要使用图片作为界面元素展示,而当图片数量和大小增加时,需要考虑将图片存储到数据库中,以便在不同计算机上共享。本文将介绍使用DevExpress控件库完成图片上传的方法,同时也提供使用普通Winform的方法供参考。 使用DevExpress上传图片到MySQ…

    其他 2023年3月29日
    00
  • 利用rapidjson实现解析嵌套的json的方法示例

    利用 RapidJSON 实现解析嵌套的 JSON 的方法示例 RapidJSON 是一个高性能的 C++ JSON 解析库,它提供了一种简单而灵活的方式来解析和生成 JSON 数据。下面是一个详细的攻略,介绍如何使用 RapidJSON 解析嵌套的 JSON 数据。 步骤一:安装 RapidJSON 首先,你需要安装 RapidJSON 库。你可以从 Ra…

    other 2023年7月28日
    00
  • java如何实现获取客户端ip地址的示例代码

    获取客户端IP地址是Java Web开发中常见的需求之一。下面是一份完整的攻略,包含了两个示例说明。 示例1:使用HttpServletRequest对象获取客户端IP地址 在Java Web开发中,可以使用HttpServletRequest对象来获取客户端IP地址。以下是一个示例代码: import javax.servlet.http.HttpServ…

    other 2023年7月31日
    00
  • jquery介绍

    jQuery介绍 jQuery是一款流行的JavaScript库,它简化了JavaScript编程,使开发人员可以更轻松地操作HTML文档、处理事件、创建动画效果、发送AJ请求等。本文将详细介绍jQuery的特点、使用方法和示例说明。 特点 简化DOM操作:jQuery提供了一简单易用的API,使开发人员可以轻松地操作HTML文档,例如选择元素、修改元素属性…

    other 2023年5月9日
    00
  • 使用log4j2自定义配置文件位置和文件名(附log4j2.xml配置实例)

    使用log4j2自定义配置文件位置和文件名需要进行以下步骤: 创建自定义配置文件首先需要创建一个log4j2的配置文件,可以命名为log4j2.xml或者其他名称,假设我们命名为mylog.xml。在配置文件中需要定义日志输出方式、日志级别、日志文件的存储路径、文件名等信息。 将自定义配置文件放置到指定目录将自定义的配置文件mylog.xml放置到项目的根目…

    other 2023年6月25日
    00
  • Java三大特性-封装知识小结

    下面是 “Java三大特性-封装知识小结” 的完整攻略: Java三大特性-封装知识小结 一、什么是封装 封装是把对象的状态信息和行为信息保护起来,只保留外部接口,控制程序对状态信息的访问,提高程序的安全性和可维护性。 在Java中,封装通过类的访问控制权限来实现: private: 只有本类可以访问 default(package-private): 同一…

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