基于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学习笔记二 之 变量
Dec 15 Javascript
jquery实现商品拖动选择效果代码(自写)
May 28 Javascript
javascript使用prototype完成单继承
Dec 24 Javascript
JQuery异步获取返回值中文乱码的解决方法
Jan 29 Javascript
JQuery zClip插件实现复制页面内容到剪贴板
Nov 02 Javascript
省市选择的简单实现(基于zepto.js)
Jun 21 Javascript
微信小程序实现收藏与取消收藏切换图片功能
Aug 03 Javascript
webpack实现一个行内样式px转vw的loader示例
Sep 13 Javascript
微信小程序绘制图片发送朋友圈
Jul 25 Javascript
原生JS实现烟花效果
Mar 10 Javascript
你不知道的SpringBoot与Vue部署解决方案
Nov 09 Javascript
js前端对于大量数据的展示方式及处理方法
Dec 02 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
2013/06/18 PHP
解析phpstorm + xdebug 远程断点调试
2013/06/20 PHP
Symfony模板的快捷变量用法实例
2016/03/17 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
解决JS请求服务器gbk文件乱码的问题
2015/10/16 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
JavaScript学习笔记整理_setTimeout的应用
2016/09/19 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
vuex根据不同的用户权限展示不同的路由列表功能
2019/09/20 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
JavaScript监听一个DOM元素大小变化
2020/04/26 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
python 多线程实现检测服务器在线情况
2015/11/25 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
Python中列表与元组的乘法操作示例
2018/02/10 Python
学生信息管理系统Python面向对象版
2019/01/30 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
2019/04/15 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
酒店应聘自荐信
2013/11/09 职场文书
联谊活动策划书
2014/01/26 职场文书
个人委托函范文
2015/01/29 职场文书
幼儿园奖惩制度范本
2015/08/05 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
2016年“11.11”光棍节活动总结
2016/04/05 职场文书
PyQt5爬取12306车票信息程序的实现
2021/05/14 Python