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

本文介绍如何利用HTML、CSS和JavaScript(特别是jQuery库)创建一个具有增加、删除和修改功能的简单表格。表格包含学生编号、姓名和年龄三列,并通过CSS实现了奇偶行的不同颜色展示,提升了界面美观度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近一周在学了一点点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>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值