jquery 表格的增加删除和修改及设置奇偶行颜色
最近一周在学了一点点HTML, CSS, javascript,用javascript的jquery完成了一个简单的表格操作,有增加、删除和修改功能。
表 格分三列,第一列是学生编号(ID号),第二列是学生姓名,第三列为学生年龄。在姓名和年龄框内输入数据,再点“Add”就可以增加数据(ID号会自动递 增的生成),输入ID号再输入新的姓名和年龄点“Edit”就可以修改,删除的话输入ID号就点“Delete”就可以删除指定行。
表格最上面会及时更新当前表中行数,在输入ID时也会动态响应并更新姓名年龄输入框的内容。使程序达到了基本的可操作性。表格的表头用CSS作了颜色控制,表格中的内容也用CSS按奇偶行设置了不同的颜色。从而使界面变的更加美观。
下面是截图:

完整的代码如下(Win7+IE9测试通过):
- //by MoreWindows (http://blog.csdn.net/MoreWindows)
- <html>
- <head>
- <script src="jquery-1.7.min.js"></script>
- <script>
- $(document).ready(function()
- {
- SetTableRowColor();
- UpdataTableRowCount();
- if ($.browser.msie) //判断是不是MS的ie浏览器
- {
- $("#id").bind("propertychange", function(){IDInputChange();});
- }
- else
- {
- document.getElementById("#id").addEventListener("input", IDInputChange, false);
- }
- });
- </script>
- <script>
- //根据ID输入框的值取表格中对应内容并填充到姓名年龄的输入框中
- function IDInputChange()
- {
- //根据id查找到指定行
- var i=SearchIdInTable($("#Table tr"), $("#id").val());
- if (i != -1)
- {
- //得到该行的数据
- var name = $("#Table tr:eq(" + i + ") td:eq(1)").html();
- var age = $("#Table tr:eq(" + i + ") td:eq(2)").html();
- //将数据更新到对应的文本框中
- $("#Name").val(name);
- $("#Age").val(age);
- }
- else
- {
- $("#Name").val("");
- $("#Age").val("");
- }
- }
- //在表格的第一列中查找等于指定ID的行
- function SearchIdInTable(tablerow, findid)
- {
- var i;
- var tablerowtablerownum=tablerow.length;
- for (i=1; i<tablerownum; i++)
- if ($("#Table tr:eq(" + i + ") td:eq(0)").html() == findid)
- return i;
- return -1;
- }
- //用CSS控制奇偶行的颜色
- function SetTableRowColor()
- {
- $("#Table tr:odd").css("background-color", "#e6e6fa");
- $("#Table tr:even").css("background-color", "#fff0fa");
- }
- //更新表格当前显示的行数
- function UpdataTableRowCount()
- {
- $("#tableRowCount").html($("#Table tr").length - 1);
- }
- function IncTableRowCount()
- {
- var tc = $("#tableRowCount");
- tc.html(parseInt(tc.html()) + 1);
- }
- function DecTableRowCount()
- {
- var tc = $("#tableRowCount");
- tc.html(parseInt(tc.html()) - 1);
- }
- </script>
- <script>
- $(document).ready(function()
- {
- //增加
- $("#AddBtn").click(function()
- {
- var id=parseInt($("#Table tr:last td:first").html()) + 1;
- var name = $("#Name").val() != "" ? $("#Name").val() : " ";
- var age = $("#Age").val() != "" ? $("#Age").val() : " ";
- //新增加一行
- var appendstr = "<tr>";
- appendstr += "<td>" + id + "</td>";
- appendstr += "<td>" + name + "</td>";
- appendstr += "<td>" + age + "</td>";
- appendstr += "</tr>";
- $("#Table").append(appendstr);
- IncTableRowCount();
- SetTableRowColor();
- });
- //编辑
- $("#EditBtn").click(function()
- {
- //根据id查找到指定行
- var i=SearchIdInTable($("#Table tr"), $("#id").val());
- if (i != -1)
- {
- //得到新内容
- var name = $("#Name").val() != "" ? $("#Name").val() : " ";
- var age = $("#Age").val() != "" ? $("#Age").val() : " ";
- //修改该行的二列数据
- $("#Table tr:eq(" + i + ") td:eq(1)").html(name);
- $("#Table tr:eq(" + i + ") td:eq(2)").html(age); //parseInt(age)也可以
- }
- });
- //删除
- $("#DeleteBtn").click(function()
- {
- //根据id查找到指定行
- var i=SearchIdInTable($("#Table tr"), $("#id").val());
- if (i != -1)
- {
- //删除表格中该行
- $("#Table tr:eq(" + i + ")").slideUp("slow");
- $("#Table tr:eq(" + i + ")").remove();
- DecTableRowCount();
- SetTableRowColor();
- }
- });
- });
- </script>
- </head>
- <body>
- <p>简单的表格操作,有增加、删除和修改功能。id输入框能动态响应输入</p>
- id:<input type="text" id="id" />
- Name:<input type="text" id="Name" />
- Age:<input type="text" id="Age" />
- <input type="button" id="AddBtn" value="Add" />
- <input type="button" id="EditBtn" value="Edit" />
- <input type="button" id="DeleteBtn" value="Delete" />
- <table id="Table" align="center" border="2" cellpadding="10" cellspacing="1" bordercolor="#FFAA00">
- <caption style="font-size:15px">学生表<label id="tableRowCount"></label></caption>
- <th>id</th><th>Name</th><th>Age</th>
- <tr> <td>1</td> <td>MoreWindows</td> <td>24</td> </tr>
- <tr> <td>2</td> <td>MW</td> <td>19</td> </tr>
- </table>
- </body>
- </html>
- <!-- css控制表头的背景颜色 css 双重标签 派生选择器-->
- <style>
- #Table th
- {
- background-color:#7cfc00;
- }
代码中的jquery-1.7.min.js可以到jquery的官网上下载。
写的很菜^_^,高手轻拍。
转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7052188
浙公网安备 33010602011771号