基于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 相关文章推荐
XHTML-Strict 内允许出现的标签
Dec 11 Javascript
JavaScript 异步调用框架 (Part 3 - 代码实现)
Aug 04 Javascript
jQuery控制TR显示隐藏的几种方法
Jun 18 Javascript
概述jQuery的元素筛选
Nov 23 Javascript
Javascrip实现文字跳动特效
Nov 27 Javascript
Angular 1.x个人使用的经验小结
Jul 19 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
Apr 01 Javascript
js实现简单贪吃蛇游戏
May 15 Javascript
WebStorm中如何将自己的代码上传到github示例详解
Oct 28 Javascript
vue3.0+vue-router+element-plus初实践
Dec 02 Vue.js
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
PHP高级编程实例:编写守护进程
2014/09/02 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
用Javascript做flash做的事..才完成的一个类.Auntion Action var 0.1
2007/02/23 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
jQuery版本升级踩坑大全
2016/01/12 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
点击页面任何位置隐藏div的实现方法
2016/09/05 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
vue.js element-ui validate中代码不执行问题解决方法
2017/12/18 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
vue基础之data存储数据及v-for循环用法示例
2019/03/08 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python的dict字典结构操作方法学习笔记
2016/05/07 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
2019/01/29 Python
Python读取实时数据流示例
2019/12/02 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
宝拉珍选美国官网:Paula’s Choice美国
2018/01/07 全球购物
会计主管岗位职责范文
2013/11/08 职场文书
建筑安全标语
2014/06/07 职场文书
单位计划生育责任书
2015/05/09 职场文书
2016年先进班集体事迹材料
2016/02/26 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Python实现打乒乓小游戏
2021/09/25 Python