最近一周在学了一点点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 tablerownum=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完成表格的增加删除和修改及设置奇偶行颜色的详细内容。更多信息请关注PHP中文网其他相关文章!