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编程起步(第四课)
Feb 27 Javascript
JavaScript实现文字与图片拖拽效果的方法
Feb 16 Javascript
基于JavaScript如何制作遮罩层对话框
Jan 26 Javascript
简单实现JS计算器功能
Dec 21 Javascript
Node.js安装配置图文教程
May 10 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
Aug 03 Javascript
JavaScript中重名的函数与对象示例详析
Sep 28 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
基于JS实现前端压缩上传图片的实例代码
May 14 Javascript
解决layui调用自定义方法提示未定义的问题
Sep 14 Javascript
详解vue中多个有顺序要求的异步操作处理
Oct 29 Javascript
element实现合并单元格通用方法
Nov 13 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
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php 函数中使用static的说明
2012/06/01 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
JS中彻底删除JSON对象组成的数组中的元素
2020/09/22 PHP
EasyUI实现第二层弹出框的方法
2015/03/01 Javascript
javascript实现简单的贪吃蛇游戏
2015/03/31 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍
2016/05/19 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
seajs下require书写约定实例分析
2018/05/16 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python 连接sqlite及简单操作
2017/06/30 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
Python正则表达式匹配日期与时间的方法
2019/07/07 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Python Json数据文件操作原理解析
2020/05/09 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
《乞巧》教学反思
2014/02/27 职场文书
建筑投标担保书
2014/05/20 职场文书
中考标语大全
2014/06/05 职场文书
励志演讲稿800字
2014/08/21 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
婚育证明样本
2015/06/16 职场文书
新员工入职感言范文!
2019/07/04 职场文书
Vue Element plus使用方法梳理
2022/12/24 Vue.js