JQuery实现可以编辑的表格

来源:互联网 发布:淘宝扫码付款被骗 编辑:程序博客网 时间:2024/06/07 02:28

   前段时间做项目用到了可以编辑的表格,本篇博客主要是简单总结jQuery部分实现可以编辑的表格,没有与数据库的交互部分,下篇博客会详细解说AJax部分。

       首先是准备表格,样式自定,例子中我用了表格很简单的样式。

       html

      

[html] view plain copy
 print?
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head runat="server">  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
  4.     <title></title>  
  5.     <link href="editTable.css" rel="stylesheet" />  
  6.       
  7.     <script src="jquery.js" type="text/javascript"></script>  
  8.        <script src="editTable.js" type="text/javascript"></script>  
  9.       
  10. </head>  
  11. <body>  
  12.     <form id="form1" runat="server">  
  13.     <div>  
  14.     <table>  
  15.         <tr>  
  16.             <th>艺术家</th>  
  17.             <th>所在职</th>        
  18.        </tr>  
  19.         <tr>  
  20.             <td>青峯</td>  
  21.             <td>主唱</td>   
  22.         </tr>  
  23.         <tr  >  
  24.             <td>馨仪</td>  
  25.             <td>贝斯</td>  
  26.         </tr>  
  27.         <tr >  
  28.             <td>家凯</td>  
  29.             <td>吉他</td>  
  30.         </tr>  
  31.         <tr  >  
  32.             <td >阿福</td>  
  33.             <td>木吉他</td>  
  34.         </tr>  
  35.         <tr>  
  36.             <td >阿龚</td>  
  37.             <td>键盘</td>  
  38.         </tr>  
  39.     </table>  
  40.     </div>  
  41.     </form>  
  42. </body>  
  43. </html>  

样式表

[html] view plain copy
 print?
  1. body {  
  2.    /*无边距*/  
  3.      margin:0px;  
  4.     padding:0px;  
  5.     /*字体大小*/  
  6.     font-size:16px;  
  7.     
  8. }     
  9.  /*表格样式*/  
  10. table,tr,td,th {  
  11.   
  12.     border:1px solid #A3A3A3;  
  13.     border-collapse:collapse;  
  14.     background-color:#E4E4E4;  
  15. }  
  16. td {  
  17.     width:200px;  
  18.     height:30px;  
  19.     text-align:center;  
  20. }  


js文件

[javascript] view plain copy
 print?
  1. $(function () {  
  2.     //找到所有名字的单元格  
  3.     var name = $("tbody td:even");  
  4.     //给这些单元格注册鼠标点击事件  
  5.     name.click(function () {  
  6.       
  7.         
  8.         //找到当前鼠标单击的td  
  9.         var tdObj = $(this);  
  10.         //保存原来的文本  
  11.         var oldText = $(this).text();  
  12.         //创建一个文本框  
  13.         var inputObj = $("<input type='text' value='" + oldText + "'/>");  
  14.         //去掉文本框的边框  
  15.         inputObj.css("border-width", 0);  
  16.         inputObj.click(function () {  
  17.             return false;  
  18.         });  
  19.         //使文本框的宽度和td的宽度相同  
  20.         inputObj.width(tdObj.width());  
  21.         inputObj.height(tdObj.height());  
  22.         //去掉文本框的外边距  
  23.         inputObj.css("margin", 0);  
  24.         inputObj.css("padding", 0);  
  25.         inputObj.css("text-align""center");  
  26.         inputObj.css("font-size""16px");  
  27.         inputObj.css("background-color", tdObj.css("background-color"));  
  28.         //把文本框放到td中  
  29.         tdObj.html(inputObj);  
  30.         //文本框失去焦点的时候变为文本  
  31.         inputObj.blur(function () {   
  32.             var newText = $(this).val();  
  33.             tdObj.html(newText);          
  34.         });  
  35.         //全选  
  36.           inputObj.trigger("focus").trigger("select");  
  37.     });  
  38.   
  39. });  



 页面效果:

单击艺术家列,就可以对表格进行修改。

单击其他地方进行了修改

以上主要是利用JQuery进行基础的效果演示

0 0
原创粉丝点击