您的位置:首页 > Web前端 > JQuery

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

2013-03-22 11:51 549 查看
最近一周在学了一点点HTML, CSS, javascript,用javascript的jquery完成了一个简单的表格操作,有增加、删除和修改功能。

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

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

下面是截图:



<html>
<head>
<script src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
SetTableRowColor();
UpdataTableRowCount();

if ($.browser.msie) //判断是不是MS的ie浏览器(propertychange是微软IE的东西)
{
$("#id").bind("propertychange", function () { IDInputChange(); });
}
else {
document.getElementById("#id").addEventListener("input", IDInputChange, false);
}
});
</script>
<script type="text/javascript">
//根据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 type="text/javascript">
$(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 type="text/css">
#Table th { background-color:#7cfc00; }
</style>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: