基于jQuery实现表格的查看修改删除


Posted in Javascript onAugust 01, 2016

效果图:

基于jQuery实现表格的查看修改删除

HTML:

<table id="table">
    <tr>
      <th>姓名</th>
      <th>年龄</th>
      <th>职位</th>
      <th>薪资</th>
      <th>操作</th>
    </tr>
    <tr>
      <td>张三</td>
      <td>23</td>
      <td>前端工程师</td>
      <td>10000</td>
      <td>
        <a href="###" class="view">查看</a>
        <a href="#" class="del">删除</a>
        <a href="#" class="modify">修改</a>
      </td>
    </tr>
    <tr>
      <td>李四</td>
      <td>33</td>
      <td>JAVA程序猿</td>
      <td>12000</td>
      <td>
        <a href="#" class="view">查看</a>
        <a href="#" class="del">删除</a>
        <a href="#" class="modify">修改</a>
      </td>
    </tr>
    <tr>
      <td>王五</td>
      <td>25</td>
      <td>美工</td>
      <td>9000</td>
      <td>
        <a href="#" class="view">查看</a>
        <a href="#" class="del">删除</a>
        <a href="#" class="modify">修改</a>
      </td>
    </tr>
  </table>
  <div class="popDiv">
    <p><strong>姓名:</strong><span></span></p>
    <p><strong>年龄:</strong><span></span></p>
    <p><strong>职位:</strong><span></span></p>
    <p><strong>薪资:</strong><span></span></p>
    <a href="#" class="close">关闭</a>
  </div>
  <div class="modifyDiv">
    <p><strong>姓名:</strong><input type="text"></p>
    <p><strong>年龄:</strong><input type="text"></p>
    <p><strong>职位:</strong><input type="text"></p>
    <p><strong>薪资:</strong><input type="text"></p>
    <a href="#" class="yes">确定</a>
    <a href="#" class="close">取消</a>
  </div>

CSS:

#table{
    border:1px solid #ccc;
    border-collapse:collapse;
    width:600px;}
  #table tr{height:30px;}
  #table tr:nth-child(2n){background-color:#eee;}
  #table tr th, td{border:1px solid #ccc;text-align: center;

  }
  td a{
    color:red;
  }
  .popDiv{
    width:500px;
    border:1px solid purple;
    position:absolute;
    top:50%;left:50%;
    margin-left:-250px;
    margin-top:-100px;
    background:#fff;
    padding:10px;
    display:none;
    z-index:3;
    border:1px solid #ccc;
  }
  .popDiv p{border:1px solid #ccc;padding:5px;}
  .modifyDiv{
    width:500px;
    border:1px solid purple;
    position:absolute;
    top:50%;left:50%;
    margin-left:-250px;
    margin-top:-100px;
    background:#fff;
    padding:10px;
    display:none;
    z-index:3;
    border:1px solid #ccc;
  }
  .modifyDiv p{border:1px solid #ccc;padding:5px;}

JQ:

$(function(){
    //查看
    $("td a.view").click(function(){
      /**添加遮罩层*/
      var maskHeight=$(document).height();
      var maskWidth=$(document).width();
      $("<div class='mask'></div>").appendTo($("body"));
      $("div.mask").css({
        "opacity":0.4,
        "background":"#000",
        "position":"absolute",
        "left":0,
        "top":0,
        "width":maskWidth,
        "height":maskHeight,
        "z-index":2
      })
      var arr=[];
      $(this).parent().siblings().each(function(){
        arr.push($(this).text());
      });
      $(".popDiv").show().children().each(function(i){
        $(this).children("span").text(arr[i]);
      });
      $(".close").click(function(){
        $(this).parent().hide();
        $(".mask").remove();
      });
    });
    //删除
    $("a.del").click(function(){
      $(this).parents("tr").remove();
    });
    /*修改功能*/
  })

//在页面装载时,让所有的td都拥有点击事件
$(document).ready(function(){
  //找到所有td节点
  var tds = $("td").not(":last-child");
  //给所有的td节点增加点击事件
  tds.dblclick(tdclick);
});

function tdclick(){
  var clickfunction = this;
  //0,获取当前的td节点
  var td = $(this);
  //1,取出当前td中的文本内容保存起来
  var text = $(this).text();
  //2,清空td里边内同
  td.html("");
  //3,建立一个文本框,也就是建一个input节点
  var input = $("<input>");
  //4,设置文本框中值是保存起来的文本内容
  input.attr("value",text);
  //4.5让文本框可以相应键盘按下的事件
  input.keyup(function(event){
    //记牌器当前用户按下的键值
    var myEvent = event || window.event;//获取不同浏览器中的event对象
    var kcode = myEvent.keyCode;
    //判断是否是回车键按下
    if(kcode == 13){
      var inputnode = $(this);
      //获取当前文本框的内容
      var inputext = inputnode.val();
      //清空td里边的内容,然后将内容填充到里边
      var tdNode = inputnode.parent();
      tdNode.html(inputext);
      //让td重新拥有点击事件
      tdNode.click(tdclick);
    }
  }).blur(function(){
      var inputnode = $(this);
      //获取当前文本框的内容
      var inputext = inputnode.val();
      //清空td里边的内容,然后将内容填充到里边
      var tdNode = inputnode.parent();
      tdNode.html(inputext);
      //让td重新拥有点击事件
      tdNode.click(tdclick);
    });
  //5,把文本框加入到td里边去
  td.append(input);
  //5.5让文本框里边的文章被高亮选中
  //需要将jquery的对象转换成dom对象
  var inputdom = input.get(0);
  inputdom.select();

  //6,需要清楚td上的点击事件
  td.unbind("click");
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript中使用replace结合正则实现replaceAll的效果
Jun 04 Javascript
用js来解决ajax读取页面乱码
Nov 28 Javascript
Javascript根据指定下标或对象删除数组元素
Dec 21 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
Jun 07 Javascript
前端js实现文件的断点续传 后端PHP文件接收
Oct 14 Javascript
Bootstrap基本组件学习笔记之面板(14)
Dec 08 Javascript
vue2.0 实现导航守卫(路由守卫)
May 21 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 Javascript
Vue中错误图片的处理的实现代码
Nov 07 Javascript
vue+element-ui表格封装tag标签使用插槽
Jun 18 Javascript
vue使用过滤器格式化日期
Jan 20 Vue.js
js动态添加带圆圈序号列表的实例代码
Feb 18 Javascript
jQuery自制提示框tooltip改进版
Aug 01 #Javascript
Three.js学习之文字形状及自定义形状
Aug 01 #Javascript
jQuery实现的省市县三级联动菜单效果完整实例
Aug 01 #Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 #Javascript
基于原生JS实现图片裁剪
Aug 01 #Javascript
AngularJS基础 ng-include 指令简单示例
Aug 01 #Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
Aug 01 #Javascript
You might like
便携利器 — TECSUN PL-365简评
2021/03/02 无线电
PHP HTML代码串 截取实现代码
2009/06/29 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP中判断变量为空的几种方法小结
2013/11/12 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
js no-repeat写法 背景不重复
2009/03/18 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
Javascript 自适应高度的Tab选项卡
2011/04/05 Javascript
jQuery调取jSon数据并展示的方法
2015/01/29 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
Vue学习之路之登录注册实例代码
2017/07/06 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
详解基于webpack&amp;gettext的前端多语言方案
2019/01/29 Javascript
微信小程序tabBar设置实例解析
2019/11/14 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
Python 实现遥感影像波段组合的示例代码
2019/08/04 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
如何在scrapy中捕获并处理各种异常
2020/09/28 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
美国知名艺术画网站:Art.com
2017/02/09 全球购物
澳洲国民品牌乡村路折扣店:Country Road & Trenery Outlet
2018/04/19 全球购物
自行车租赁公司创业计划书
2014/01/28 职场文书
酒店员工检讨书
2014/02/18 职场文书
试用期自我鉴定范文
2014/03/20 职场文书
2015年采购部工作总结
2015/04/23 职场文书
离职证明范本
2015/06/12 职场文书
SpringBoot工程下使用OpenFeign的坑及解决
2021/07/02 Java/Android