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中定义对象类别
Dec 22 Javascript
JQuery打造省市下拉框联动效果
May 18 Javascript
jQuery选择器源码解读(六):Sizzle选择器匹配逻辑分析
Mar 31 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
angular动态表单制作
Feb 23 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
详解小程序横屏方案对比
Jun 28 Javascript
vue 扩展现有组件的操作
Aug 14 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中通过虚代理实现延迟加载的实现代码
2011/06/10 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
JS交换变量的方法
2015/01/21 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
JavaScript实现页面无操作倒计时退出
2016/10/22 Javascript
AngularJS中的拦截器实例详解
2017/04/07 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JavaScript中错误正确处理方式小结你用对了吗
2017/10/10 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
使用live-server快速搭建本地服务器+自动刷新的方法
2018/03/09 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
JavaScript中while循环的基础使用教程
2020/08/11 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
[02:22]2018DOTA2亚洲邀请赛VG赛前采访
2018/04/03 DOTA
python列表与元组详解实例
2013/11/01 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
Python调用C++程序的方法详解
2017/01/24 Python
Django中使用Celery的教程详解
2018/08/24 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
python3.7.3版本和django2.2.3版本是否可以兼容
2020/09/01 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
彪马英国官网:PUMA英国
2019/02/11 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
公司年会晚宴演讲稿
2014/01/06 职场文书
村创先争优活动总结
2014/08/28 职场文书
个人四风问题整改措施
2014/10/24 职场文书
大学生学年个人总结
2015/02/15 职场文书
童年读书笔记
2015/06/26 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
mongodb的安装和开机自启动详细讲解
2021/08/02 MongoDB
JavaScript函数柯里化
2021/11/07 Javascript