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

来源:互联网 发布:知乎热门钓鱼贴 编辑:程序博客网 时间:2024/04/29 14:01

最近一周在学了一点点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-1.7.min.js可以到jquery的官网上下载。

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

0 0