jquery 表格的增加删除和修改及设置奇偶行颜色

最近一周在学了一点点HTML, CSS, javascript,用javascript的jquery完成了一个简单的表格操作,有增加、删除和修改功能。

表 格分三列,第一列是学生编号(ID号),第二列是学生姓名,第三列为学生年龄。在姓名和年龄框内输入数据,再点“Add”就可以增加数据(ID号会自动递 增的生成),输入ID号再输入新的姓名和年龄点“Edit”就可以修改,删除的话输入ID号就点“Delete”就可以删除指定行。

表格最上面会及时更新当前表中行数,在输入ID时也会动态响应并更新姓名年龄输入框的内容。使程序达到了基本的可操作性。表格的表头用CSS作了颜色控制,表格中的内容也用CSS按奇偶行设置了不同的颜色。从而使界面变的更加美观。

下面是截图:

 

完整的代码如下(Win7+IE9测试通过):

  1. //by MoreWindows (http://blog.csdn.net/MoreWindows)  
  2. <html>  
  3. <head>  
  4. <script src="jquery-1.7.min.js"></script>  
  5. <script>  
  6. $(document).ready(function()  
  7. {  
  8.     SetTableRowColor();  
  9.     UpdataTableRowCount();  
  10.       
  11.     if ($.browser.msie) //判断是不是MS的ie浏览器  
  12.     {  
  13.         $("#id").bind("propertychange", function(){IDInputChange();});  
  14.     }  
  15.     else  
  16.     {  
  17.         document.getElementById("#id").addEventListener("input", IDInputChange, false);  
  18.     }  
  19. });  
  20. </script>  
  21. <script>  
  22. //根据ID输入框的值取表格中对应内容并填充到姓名年龄的输入框中  
  23. function IDInputChange()  
  24. {  
  25.     //根据id查找到指定行  
  26.     var i=SearchIdInTable($("#Table tr"), $("#id").val());  
  27.     if (i != -1)  
  28.     {  
  29.         //得到该行的数据  
  30.         var name = $("#Table tr:eq(" + i + ") td:eq(1)").html();  
  31.         var age = $("#Table tr:eq(" + i + ") td:eq(2)").html();   
  32.   
  33.         //将数据更新到对应的文本框中  
  34.         $("#Name").val(name);  
  35.         $("#Age").val(age);  
  36.     }  
  37.     else  
  38.     {  
  39.         $("#Name").val("");  
  40.         $("#Age").val("");        
  41.     }  
  42. }  
  43. //在表格的第一列中查找等于指定ID的行  
  44. function SearchIdInTable(tablerow, findid)  
  45. {  
  46.     var i;  
  47.     var tablerowtablerownum=tablerow.length;  
  48.     for (i=1; i<tablerownum; i++)  
  49.         if ($("#Table tr:eq(" + i + ") td:eq(0)").html() == findid)  
  50.             return i;  
  51.     return -1;  
  52. }  
  53. //用CSS控制奇偶行的颜色  
  54. function SetTableRowColor()  
  55. {  
  56.   
  57.     $("#Table tr:odd").css("background-color", "#e6e6fa");  
  58.     $("#Table tr:even").css("background-color", "#fff0fa");  
  59. }  
  60. //更新表格当前显示的行数  
  61. function UpdataTableRowCount()  
  62. {  
  63.     $("#tableRowCount").html($("#Table tr").length - 1);  
  64. }  
  65. function IncTableRowCount()  
  66. {  
  67.     var tc = $("#tableRowCount");  
  68.     tc.html(parseInt(tc.html()) + 1);  
  69. }  
  70. function DecTableRowCount()  
  71. {  
  72.     var tc = $("#tableRowCount");  
  73.     tc.html(parseInt(tc.html()) - 1);  
  74. }  
  75. </script>  
  76. <script>  
  77. $(document).ready(function()  
  78. {  
  79.   //增加  
  80.   $("#AddBtn").click(function()   
  81.   {  
  82.     var id=parseInt($("#Table tr:last td:first").html()) + 1;  
  83.   
  84.     var name = $("#Name").val() != "" ? $("#Name").val() : " ";  
  85.     var age  = $("#Age").val() != "" ? $("#Age").val() : " ";  
  86.       
  87.     //新增加一行  
  88.     var appendstr = "<tr>";  
  89.     appendstr += "<td>" + id + "</td>";  
  90.     appendstr += "<td>" + name + "</td>";  
  91.     appendstr += "<td>" + age + "</td>";  
  92.     appendstr += "</tr>";  
  93.     $("#Table").append(appendstr);  
  94.       
  95.     IncTableRowCount();  
  96.     SetTableRowColor();  
  97.   });  
  98.   //编辑  
  99.   $("#EditBtn").click(function()   
  100.   {  
  101.     //根据id查找到指定行  
  102.     var i=SearchIdInTable($("#Table tr"), $("#id").val());  
  103.     if (i != -1)  
  104.     {  
  105.         //得到新内容  
  106.         var name = $("#Name").val() != "" ? $("#Name").val() : " ";  
  107.         var age  = $("#Age").val() != "" ? $("#Age").val() : " ";  
  108.           
  109.         //修改该行的二列数据  
  110.         $("#Table tr:eq(" + i + ") td:eq(1)").html(name);  
  111.         $("#Table tr:eq(" + i + ") td:eq(2)").html(age); //parseInt(age)也可以  
  112.     }  
  113.   });  
  114.   //删除  
  115.   $("#DeleteBtn").click(function()  
  116.   {  
  117.     //根据id查找到指定行  
  118.     var i=SearchIdInTable($("#Table tr"), $("#id").val());  
  119.     if (i != -1)  
  120.     {     
  121.         //删除表格中该行  
  122.         $("#Table tr:eq(" + i + ")").slideUp("slow");  
  123.         $("#Table tr:eq(" + i + ")").remove();  
  124.           
  125.         DecTableRowCount();  
  126.         SetTableRowColor();   
  127.     }  
  128.   });  
  129. });  
  130. </script>  
  131. </head>  
  132. <body>  
  133. <p>简单的表格操作,有增加、删除和修改功能。id输入框能动态响应输入</p>  
  134. id:<input type="text" id="id" />  
  135. Name:<input type="text" id="Name" />  
  136. Age:<input type="text" id="Age" />  
  137. <input type="button" id="AddBtn" value="Add" />  
  138. <input type="button" id="EditBtn" value="Edit" />  
  139. <input type="button" id="DeleteBtn" value="Delete" />  
  140. <table id="Table" align="center" border="2" cellpadding="10" cellspacing="1" bordercolor="#FFAA00">  
  141. <caption style="font-size:15px">学生表<label id="tableRowCount"></label></caption>  
  142. <th>id</th><th>Name</th><th>Age</th>  
  143. <tr> <td>1</td> <td>MoreWindows</td>  <td>24</td> </tr>  
  144. <tr> <td>2</td> <td>MW</td> <td>19</td> </tr>  
  145. </table>  
  146. </body>  
  147. </html>  
  148. <!-- css控制表头的背景颜色 css 双重标签 派生选择器-->  
  149. <style>  
  150. #Table th  
  151. {  
  152.   background-color:#7cfc00;  
  153. }  

代码中的jquery-1.7.min.js可以到jquery的官网上下载。

写的很菜^_^,高手轻拍。

 

 

转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7052188

posted @ 2012-02-03 22:33  永哥  阅读(618)  评论(0)    收藏  举报