博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery实现可编辑表格
阅读量:5285 次
发布时间:2019-06-14

本文共 1438 字,大约阅读时间需要 4 分钟。

在很多的网页中,这个可编辑表格在许多地方都是非常有用,配合上AJAX技术能够实现很好的用户体验,下面我

们就jQuery来说明一下可编辑表格的实现步骤

首先是HTML代码,非常简单

 

[html] 
 
 
 
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  2. <html>  
  3.   <head>  
  4.     <title>可以编辑的表格</title>  
  5.     <script type="text/javascript" src="/Ajax/js/jquery-1.7.2.js"></script>  
  6.     <script type="text/javascript" src="/Ajax/js/edit.js"></script>  
  7.     <link rel="stylesheet" href="/Ajax/css/edit.css" type="text/css"></link>  
  8.   </head>  
  9.     
  10.   <body>  
  11.     <table border="1px">  
  12.         <tr>  
  13.             <td>123123</td>    <td>456456</td>  
  14.         </tr>  
  15.     </table>  
  16.   </body>  
  17. </html>  

然后是js代码

 

 

[javascript] 
 
 
 
  1. $(function(){  
  2.     //找到所有的td节点  
  3.     $("td").click(tdclick);  
  4. });  
  5.   
  6. function tdclick(){  
  7.       
  8.         var td = $(this);  
  9.         //1.取出当前的文本内容并且保存起来  
  10.         var text = td.text();  
  11.         //2. 清除当前的td内容  
  12.         td.html("");//也可以用empty()方法  
  13.         //3.建立一个input标签  
  14.         var input = $("<input>");  
  15.         //4.设置文本框里面的值是改写后的内容  
  16.         input.attr("value",text);  
  17.         //4.5响应键盘事件,处理回车  
  18.         input.keyup(function(event){  
  19.             //1.判断是否回车按下  
  20.             //结局不同浏览器获取时间的差异  
  21.             var myEvent = event || window.event;  
  22.             var key = myEvent.keyCode;  
  23.             if(key == 13){  
  24.                 var inputNode = $(this);  
  25.                 //1.保存当前文本框的内容  
  26.                 var inputText = inputNode.val();  
  27.                 //2.清空td里面的内容  
  28.                 inputNode.parent().html(inputText);  
  29.                   
  30.                 td.click(tdclick);  
  31.             }  
  32.         });  
  33.           
  34.         input.blur(function(){  
  35.             var inputNode = $(this);  
  36.             var inputText = inputNode.val();  
  37.             inputNode.parent().html(inputText);  
  38.             td.click(tdclick);  
  39.         });  
  40.           
  41.         //5.把文本框就加入到td里面去  
  42.         td.append(input);  
  43.         //6.需要清除td上面的点击事件  
  44.         //6.5高亮数据  
  45.   
  46.         td.unbind("click");  
  47.         //7.提取文本框里面的值  
  48. }  

注释写的挺清楚了,这样就实现了可编辑的表格,用户按下回车或者点击一下别的地方就能实现数据的保存

转载于:https://www.cnblogs.com/lanye/p/5394672.html

你可能感兴趣的文章
wpf的VisualStateManager
查看>>
leetcode 383. 赎金信(Ransom Note)
查看>>
Mysql联合查询UNION和UNION ALL的使用介绍
查看>>
node js学习(二)——REPL(交互式解释器)
查看>>
NMON记录服务器各项性能数据
查看>>
Xitrum学习笔记05 - 模板引擎
查看>>
JavaBase 变量,数据类型和运算符
查看>>
Android Audio Focus的应用(requestAudioFocus)
查看>>
1django 视图与网址
查看>>
实现如下语法的功能:var a = (5).plus(3).minus(6); //2
查看>>
MFC添加背景图片
查看>>
未找到arm-linux-gcc解决办法
查看>>
统计Xcode项目代码行数
查看>>
SharePoint回环检查(Loopback Check)相关问题
查看>>
戏说 .NET GDI+系列学习教程(三、Graphics类的应用_验证码)
查看>>
python_basic
查看>>
SQL Server数据库——数据库的数据导出与数据导入
查看>>
认识 service worker
查看>>
第五次团队作业:项目展示
查看>>
WIN10更新后,应用报“不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况”...
查看>>