jQuery表格的维护和删除操作


Posted in Javascript onFebruary 03, 2017

最近学习jQuery,可以利用js函数来实现对表格的维护和删除,相对于JavaScript简单方便

首先看看页面的实现效果

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <script language="JavaScript" src="../js/jquery-1.4.2.js"></script>
  <title>添加用户</title>
 </head>
 <script src="user.js"></script>
 <body>
  <center>
   <br><br>
   添加用户:<br><br>
   姓名: <input type="text" name="name" id="name" />  
   email: <input type="text" name="email" id="email" />  
   电话: <input type="text" name="tel" id="tel" /><br><br>
   <button id="addUser">提交</button>
   <button id="deleteUser">删除选中</button>
   <br><br>
   <hr>
   <br><br>
   <table id="usertable" border="1" cellpadding="5" cellspacing=0>
    <tbody>
     <tr>
      <th><input type="checkbox" id="allCheckbox"/></th>
      <th>姓名</th>
      <th>email</th>
      <th>电话</th>
      <th>修改</th>
      <th>删除</th>
     </tr>
    </tbody>
   </table>
   <br>
   <br>
   <br>
   <hr>
   修改用户:<br><br>
   姓名: <input type="text" name="name" id="name_update" />  
   email: <input type="text" name="email" id="email_update" />  
   电话: <input type="text" name="tel" id="tel_update" /><br><br>
   <input type="hidden" id="id_update"/>
   <button id="updateUser">提交</button>
  </center>
 </body>
</html>

页面展示

jQuery表格的维护和删除操作

js后台代码

$().ready(function(){
 var index = 1;
 /**
  * 完成添加功能
  */
 $("#addUser").click(function(){
  /**
   * 1、获取姓名,电话,email的值
   * 2、创建
   *  <tr>
   *   <td><input type="checkbox"></td>
   *   <td>${姓名}</td>
   *   <td>${email}</td>
   *   <td>${phone}</td>
   *   <td><a>修改</a></td>
   *   <td><a>删除</a></td>
   *  </tr>
   * 3、把创建完成的tr追加到tbody上
   */
  var name = $("#name").val();
  var email = $("#email").val();
  var tel = $("#tel").val();
  var $checkbox = $("<input/>").attr("type","checkbox");
  var $checkboxTD = $("<td/>").append($checkbox);
  $checkboxTD.attr("id",index);
  index++;
  var $nameTD = $("<td/>").text(name);
  var $emailTD = $("<td/>").text(email);
  var $phoneTD = $("<td/>").text(tel);
  var $updateA = $("<a/>").text("修改");
  /**
   * 完成修改的功能
   */
  $updateA.css("cursor","pointer");
  /**
   * 给修改的超级链接添加click事件
   */
  $updateA.click(function(){
   var name = $(this).parent().siblings("td:eq(1)").text();
   var email = $(this).parent().siblings("td:eq(2)").text();
   var tel = $(this).parent().siblings("td:eq(3)").text();
   var id = $(this).parent().siblings("td:eq(0)").attr("id");
   $("#name_update").val(name);
   $("#email_update").val(email);
   $("#tel_update").val(tel);
   $("#id_update").val(id);
  });
  var $updateTD = $("<td/>").append($updateA);
  var $delA = $("<a/>").text("删除");
  $delA.css("cursor","pointer");
  $delA.click(function(){//完成删除本行的功能
   if(window.confirm("您确认要删除吗?")){
    $(this).parent().parent().remove(); 
   }
  });
  var $delTD = $("<td/>").append($delA);
  var $tr = $("<tr/>").append($checkboxTD).
   append($nameTD).append($emailTD).
   append($phoneTD)
   .append($delTD).append($updateTD);
  $("#usertable tbody").append($tr);
 });
 /**
  * 完成删除几行的功能
  */
 $("#deleteUser").click(function(){
  if(window.confirm("您确认要删除吗?")){
   /**
    * :checkbox 所有的checkbox
    * :not(#allCheckbox) 不包含id为allCheckbox
    *  被选中的
    */
   $(":checkbox:not(#allCheckbox):checked").parent().parent().remove();  
  }
 });
 /**
  * 全选功能
  */
 $("#allCheckbox").click(function(){
  if($(this).attr("checked")){
   $(":checkbox:not(#allCheckbox)").attr("checked",true);
  }else{
   $(":checkbox:not(#allCheckbox)").attr("checked",false);
  }
 });
 /**
  * 完成修改操作
  */
 $("#updateUser").click(function(){
  /**
   * 获取到修改的id的值,根据值去匹配table中的行
   */
  var idValue = $("#id_update").val();
  var name_update = $("#name_update").val();
  var email_update = $("#email_update").val();
  var tel_update = $("#tel_update").val();
  /**
   * 根据修改的id的值就定位某一行(td)
   */
  $("td[id="+idValue+"]").siblings("td:eq(0)").text(name_update);
  $("td[id="+idValue+"]").siblings("td:eq(1)").text(email_update);
  $("td[id="+idValue+"]").siblings("td:eq(2)").text(tel_update);
 });
});

以上所述是小编给大家介绍的jQuery表格的维护和删除操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript读取xml
Nov 04 Javascript
javascript数组操作(创建、元素删除、数组的拷贝)
Apr 07 Javascript
JS获取单击按钮单元格所在行的信息
Jun 17 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
JS弹出对话框实现方法(三种方式)
Dec 18 Javascript
如何在Linux上安装Node.js
Apr 01 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
May 10 Javascript
微信小程序  audio音频播放详解及实例
Nov 02 Javascript
面试常见的js算法题
Mar 23 Javascript
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
cordova入门基础教程及使用中遇到的一些问题总结
Nov 14 Javascript
Vue和React有哪些区别
Sep 12 Javascript
折叠菜单及选择器的运用
Feb 03 #Javascript
jQuery读取XML文件的方法示例
Feb 03 #Javascript
JavaScript函数基础详解
Feb 03 #Javascript
JavaScript提高加载和执行效率的方法
Feb 03 #Javascript
使用Bootstrap美化按钮实例代码(demo)
Feb 03 #Javascript
Node.js的特点详解
Feb 03 #Javascript
Bootstarp 基础教程之表单部分实例代码
Feb 03 #Javascript
You might like
社区(php&amp;&amp;mysql)四
2006/10/09 PHP
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
前端开发过程中浏览器版本的两种判定方法
2013/10/30 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
详解React中传入组件的props改变时更新组件的几种实现方法
2018/09/13 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
深入源码解析Python中的对象与类型
2015/12/11 Python
Python实现在线音乐播放器
2017/03/03 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python中xlutils库用法浅析
2020/12/29 Python
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
美国在线鞋类零售商:LifeStride
2019/06/09 全球购物
美国亚马逊旗下男装网站:East Dane(支持中文)
2019/09/25 全球购物
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
2012/11/25 面试题
采购经理岗位职责
2014/02/16 职场文书
教代会开幕词
2015/01/28 职场文书
介绍信怎么写
2015/05/05 职场文书
教师节主题班会教案
2015/08/17 职场文书
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js