基于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 相关文章推荐
JQuery插件Style定制化方法的分析与比较
May 03 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
jquery的map与get方法详解
Nov 04 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
Nov 24 Javascript
详解webpack介绍&amp;安装&amp;常用命令
Jun 29 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
vue刷新和tab切换实例
Feb 11 Javascript
基于vue和react的spa进行按需加载的实现方法
Sep 29 Javascript
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
layui数据表格重载实现往后台传参
Nov 15 Javascript
vue实现移动端input上传视频、音频
Aug 18 Javascript
Angular短信模板校验代码
Sep 23 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
第十节--抽象方法和抽象类
2006/11/16 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
js判断浏览器的比较全的代码
2007/02/13 Javascript
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
Javascript实现获取及设置光标位置的方法
2015/07/21 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
vue路由缓存的几种实现方式小结
2020/02/02 Javascript
vue中keep-alive、activated的探讨和使用详解
2020/07/26 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
Python文件及目录操作实例详解
2015/06/04 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python中fnmatch模块的使用详情
2018/11/30 Python
PyQt5笔记之弹出窗口大全
2019/06/20 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
html5 canvas 使用示例
2010/10/22 HTML / CSS
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
活动志愿者自荐信
2014/01/27 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
安全技术说明书
2014/05/09 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
首都博物馆观后感
2015/06/05 职场文书
浅谈Python中对象是如何被调用的
2022/04/06 Python