JQuery实现可直接编辑的表格


Posted in Javascript onApril 16, 2015

本文实例讲述了JQuery实现可直接编辑的表格。分享给大家供大家参考。具体分析如下:

功能:

创建一个表格,用户单击某个单元格后,可以直接修改单元格文本。
在编辑状态下,用户可按回车键确认修改,按ESC键撤销修改。

效果如下图:

JQuery实现可直接编辑的表格

思路:

当用户点击某个单元格后,立即向该单元格内插入一个文本框,将它的宽、高都设置成与单元格相的数值。用户确认输入后,清空该单元格内的所有HTML代码,然后把内容设置为用户刚刚输入的文本。

HTML代码:

<table align="center"> 
 <tr> 
 <td>学号</td> 
 <td>姓名</td> 
 </tr> 
 <tr> 
 <td>001</td> 
 <td>dog</td> 
 </tr> 
 <tr> 
 <td>002</td> 
 <td>cat</td> 
 </tr> 
 <tr> 
 <td>003</td> 
 <td>pig</td> 
 </tr> 
</table>

JavaScript代码:

$(function(){ 
 $("td").click(function(event){ 
  //td中已经有了input,则不需要响应点击事件
  if($(this).children("input").length > 0) 
   return false; 
  var tdObj = $(this); 
  var preText = tdObj.html();
  //得到当前文本内容 
  var inputObj = $("<input type='text' />");
  //创建一个文本框元素 
  tdObj.html(""); //清空td中的所有元素 
  inputObj 
   .width(tdObj.width())
   //设置文本框宽度与td相同 
   .height(tdObj.height()) 
   .css({border:"0px",fontSize:"17px",font:"宋体"})
   .val(preText) 
   .appendTo(tdObj)
   //把创建的文本框插入到tdObj子节点的最后
   .trigger("focus")
   //用trigger方法触发事件 
   .trigger("select"); 
  inputObj.keyup(function(event){ 
   if(13 == event.which)
   //用户按下回车 
   { 
    var text = $(this).val(); 
    tdObj.html(text); 
   } 
   else if(27 == event.which)
   //ESC键 
   { 
    tdObj.html(preText); 
   } 
  }); 
  //已进入编辑状态后,不再处理click事件 
  inputObj.click(function(){ 
   return false; 
  }); 
 }); 
});

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
[原创]用javascript实现检测指定目录是否存在的方法
Jan 12 Javascript
Js 订制自己的AlertBox(信息提示框)
Jan 09 Javascript
Three.js源码阅读笔记(Object3D类)
Dec 27 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
May 21 Javascript
javascript 日期相减-在线教程(附代码)
Aug 17 Javascript
javaScript实现复选框全选反选事件详解
Nov 20 Javascript
vue登录注册及token验证实现代码
Dec 14 Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
layer.open 子页面弹出层向父页面传输数据的例子
Sep 26 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
Nov 14 Javascript
JavaScript实现复选框全选功能
Apr 11 Javascript
JS中捕获console.log()输出的方法
Apr 16 #Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
Apr 16 #Javascript
JavaScript通过setTimeout实时显示当前时间的方法
Apr 16 #Javascript
jQuery监控文本框事件并作相应处理的方法
Apr 16 #Javascript
JavaScript动态修改背景颜色的方法
Apr 16 #Javascript
JavaScript实现鼠标滑过图片变换效果的方法
Apr 16 #Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 #Javascript
You might like
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
微信支付的开发流程详解
2016/09/13 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
使用Javascript监控前端相关数据的代码
2016/10/27 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
2018/07/25 Javascript
vue-cli 打包后提交到线上出现 &quot;Uncaught SyntaxError:Unexpected token&quot; 报错
2018/11/06 Javascript
Vue数据双向绑定的深入探究
2018/11/27 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
小程序实现图片预览裁剪插件
2019/11/22 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python实现多线程采集的2个代码例子
2014/07/07 Python
Python实现SVN的目录周期性备份实例
2015/07/17 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
阳光体育:Sunny Sports(购买露营和远足设备)
2018/08/07 全球购物
机修工岗位职责
2013/11/24 职场文书
合伙协议书范本
2014/04/21 职场文书
全运会口号
2014/06/20 职场文书
2014年培训工作总结范文
2014/11/27 职场文书
2015年党员个人工作总结
2015/05/13 职场文书
老干部座谈会主持词
2015/07/03 职场文书
创业计划之特色精品店
2019/08/12 职场文书
详解Html5项目适配系统深色模式方案总结
2021/04/14 HTML / CSS