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 相关文章推荐
用正则表达式 动态创建/增加css style script 兼容IE firefox
Mar 10 Javascript
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
jQuery中prependTo()方法用法实例
Jan 08 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
Nov 25 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
jQuery实现html双向绑定功能示例
Oct 09 jQuery
js 显示日期时间的实例(时间过一秒加1)
Oct 25 Javascript
浅谈Emergence.js 检测元素可见性的 js 插件
Nov 18 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
Apr 21 Javascript
vue-router路由模式详解(小结)
Aug 26 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
Sep 24 Javascript
JavaScript 异步时序问题
Nov 20 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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
php SQL Injection with MySQL
2011/02/27 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
php中count获取多维数组长度的方法
2014/11/03 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
Joomla实现组件中弹出一个模式(modal)窗口的方法
2016/05/04 PHP
PHP单链表的实现代码
2016/07/05 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
javascript常见操作汇总
2014/09/03 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
深入理解node.js http模块
2018/01/24 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
使用tensorflow根据输入更改tensor shape
2020/06/23 Python
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
公司中层干部的自我评价分享
2014/03/01 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
大学生求职信
2014/06/17 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
公司优秀员工推荐信
2015/03/24 职场文书
法人身份证明书
2015/06/18 职场文书
小程序实现筛子抽奖
2021/05/26 Javascript