Jquery Table 的基本操作

Jquery 操作 Html Table 是很方便的,这里对表格的基本操作进行一下简单的总结。

首先建立一个通用的表格css 和一个 表格Table:

table
{
    border-collapse: collapse;
    border-spacing: 0;
    margin-right: auto;
    margin-left: auto;
    width: 800px;
 }
 th, td
 {
    border: 1px solid #b5d6e6;
    font-size: 12px;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    height: 20px;
 }
 th
 {
    background-color: Gray;
 }   
<table>
        <tr>
            <th style="width: 160px;">表头一</th>
            <th style="width: 160px;">表头二 </th>
            <th style="width: 160px;">表头三</th>
            <th style="width: 160px;">表头四</th>
            <th style="width: 160px;">表头五</th>
        </tr>
        <tr>
            <td>第一行第一列</td>
            <td>第一行第二列</td>
            <td>第一行第三列</td>
            <td>第一行第四列</td>
            <td>第一行第五列</td>
        </tr>
        <tr>
            <td>第二行第一列</td>
            <td>第二行第二列</td>
            <td>第二行第三列</td>
            <td>第二行第四列</td>
            <td>第二行第五列</td>
        </tr>
        <tr>
            <td>第三行第一列</td>
            <td>第三行第二列</td>
            <td>第三行第三列</td>
            <td>第三行第四列</td>
            <td>第三行第五列</td>
        </tr>
        <tr>
            <td>第四行第一列</td>
            <td>第四行第二列</td>
            <td>第四行第三列</td>
            <td>第四行第四列</td>
            <td>第四行第五列</td>
        </tr>
</table>

一、鼠标移动到行更换背景色:

增加一个css样式:

.hover
{
  background-color: #cccc00;
}

Js脚本:

$(document).ready(function () {
    //鼠标移动到行变色,单独建立css类hover
    //tr:gt(0):表示获取大于 tr index 为0 的所有tr,即不包括表头
    $("#table1 tr:gt(0)").hover(
    function () { $(this).addClass("hover") },
    function () { $(this).removeClass("hover") })
});

 结果执行结果:

二、 表格奇偶行变色 :

奇数行和偶数行css:

.odd{ background-color: #bbf;}
.even{ background-color:#ffc; }

 Js脚本:

$(document).ready(function () {
    //奇偶行不同颜色
    $("#table2 tbody tr:odd").addClass("odd"),
    $("#table2 tbody tr:even").addClass("even")
    //或者
    //$("#table2 tbody tr:odd").css("background-color", "#bbf"),
    //$("#table2 tbody tr:even").css("background-color", "#ffc")
});

 结果显示:

 

三、基本操作:

(1)删除行,比如删除表格中的第二行:

//删除指定行(第二行)
 $("#table3 tr:gt(0):eq(1)").remove();

 (2)删除列,比如删除表格中的第二列:

//eq:获取子元素索引从 0 开始,先删除表头
$("#table3 tr th:eq(1)").remove();
//nth-child:获取子元素从 1 开始
$("#table3 tr td:nth-child(2)").remove();

 (3)删除其它行,比如第二行之外的所有行:

 $("#table3 tr:gt(0):not(:eq(1))").remove();

 (4)删除其它列,比如第二列之外的所有列:

//先删除表头
$("#table3 tr th:not(:eq(1))").remove();
$("#table3 tr td:not(:nth-child(2))").remove();

 (5)隐藏行,比如隐藏第二行:

 $("#table3 tr:gt(0):eq(1)").hide();
//或者
//$("#table3 tr:gt(0):eq(1)").css("display", "none")
//显示
//$("#table3 tr:gt(0):eq(1)").css("display", "");

 (6)隐藏列,比如隐藏第二列:

 $("#table3 tr th:eq(1)").hide();
 $("#table3 tr td:nth-child(2)").hide();
//或者
//$("#table3 tr th:eq(1)").css("display", "none");
//$("#table3 tr td:nth-child(2)").css("display", "none");
//显示
//$("#table3 tr th:eq(1)").css("display", "");
//$("#table3 tr td:nth-child(2)").css("display", "");

(7)插入新行,在表格最后的位置:

var newRow = "<tr style=\"background:red;\"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
$("#table3 tr:last").after(newRow);

(8)插入行,在第二行之后插入:

var newRow = "<tr style=\"background:red;\"><td>新行第一列</td><td>新行第二列</td><td>新行第三列</td><td>新行第四列</td><td>新行第五列</td></tr>";
$("#table3 tr:gt(0):eq(1)").after(newRow);

 (9)获得单元格的值,比如第二行第三列:

var v = $("#table3 tr:gt(0):eq(1) td:eq(2)").text();
//结果显示:第二行第三列

(10)获取一列的所有值,比如第二列:

var v = "";
 $("#table3 tr td:nth-child(2)").each(function () {
        v += $(this).text()+" ";
});
//结果:第一行第二列  第二行第二列  第三行第二列  

(11)获取一行的所有值,比如第二行:

 var v = "";
 $("#table3 tr:gt(0):eq(1) td").each(function () {
        v += $(this).text() + " ";
 });
//结果:第二行第一列  第二行第二列  第二行第三列  第二行第四列  第二行第五列 

(12)合并行单元格 比如合并 第二行第二个和第三个单元格:

$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 2);
$("#table3 tr:gt(0):eq(1) td:eq(2)").remove();

(13)拆分行单元格将上面合并的单元格还原:

//注意不能使用
//$("#table3 tr:gt(0):eq(1) td:eq(1)").removeAttr("colspan");
 $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("colspan", 1);
 $("#table3 tr:gt(0):eq(1) td:eq(1)").after("<td>第二行第三列</td>")

(14)合并列单元格,比如合并第二列第二个单元格和第三个单元格

$("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 2);
$("#table3 tr:gt(0):eq(2) td:eq(1)").remove();

(15)拆分列单元格,比如将上面刚合并的单元格还原:

 $("#table3 tr:gt(0):eq(1) td:eq(1)").attr("rowspan", 1);
//在下面行第一个单元格后插入单元格
 $("#table3 tr:gt(0):eq(2) td:eq(0)").after("<td>第三行第二列</td>");

(16)为每个单元格增加点击事件,并弹出该单元格行索引和列索引:

$(document).ready(function () {
    //点击#table3 的单元格返回 单元格索引
    $("#table3 td").click(function () {
        var tdSeq = $(this).parent().find("td").index($(this));
        var trSeq = $(this).parent().parent().find("tr").index($(this).parent());
        alert("第" + (trSeq) + "行,第" + (tdSeq+1) + "列");
    })
});

--= 源 码 下 载 =--

转载于:https://www.cnblogs.com/lxblog/archive/2013/01/11/2856582.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供您请求的文件,因为我是一个文本聊天机器人,无法上传或分享文件。但是,我可以给您提供一些使用 Ajax 和 jQuery 实现表格增删改查的基本步骤。 1. 引入 jQuery 库和 Ajax 库 在 HTML 页面中,需要引入 jQuery 库和 Ajax 库,例如: ```html <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.min.js"></script> ``` 2. 创建表格 在 HTML 页面中,创建一个表格,并根据需求添加相应的表头和数据行。 ```html <table id="myTable"> <thead> <tr> <th>编号</th> <th>姓名</th> <th>年龄</th> <th>操作</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>张三</td> <td>20</td> <td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td> </tr> <tr> <td>2</td> <td>李四</td> <td>22</td> <td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td> </tr> <!-- 其他数据行 --> </tbody> </table> ``` 3. 实现数据的增删改查 在 JavaScript 文件中,使用 Ajax 和 jQuery 实现对表格数据的增删改查操作。例如: ```javascript // 查询数据 function queryData() { $.ajax({ url: '/api/data', type: 'GET', dataType: 'json', success: function (data) { // 将数据渲染到表格中 renderTable(data); } }); } // 渲染表格 function renderTable(data) { var html = ''; $.each(data, function (index, item) { html += '<tr>'; html += '<td>' + item.id + '</td>'; html += '<td>' + item.name + '</td>'; html += '<td>' + item.age + '</td>'; html += '<td><button class="editBtn">编辑</button><button class="deleteBtn">删除</button></td>'; html += '</tr>'; }); $('#myTable tbody').html(html); } // 添加数据 function addData(data) { $.ajax({ url: '/api/data', type: 'POST', data: data, dataType: 'json', success: function () { // 添加成功后重新查询数据 queryData(); } }); } // 编辑数据 function editData(id, data) { $.ajax({ url: '/api/data/' + id, type: 'PUT', data: data, dataType: 'json', success: function () { // 编辑成功后重新查询数据 queryData(); } }); } // 删除数据 function deleteData(id) { $.ajax({ url: '/api/data/' + id, type: 'DELETE', dataType: 'json', success: function () { // 删除成功后重新查询数据 queryData(); } }); } // 监听添加按钮的点击事件 $('#addBtn').click(function () { // 获取表单数据并添加到数据库中 var data = $('#addForm').serialize(); addData(data); }); // 监听编辑按钮的点击事件 $('#myTable').on('click', '.editBtn', function () { // 获取当前行的数据并填充到编辑表单中 var id = $(this).closest('tr').find('td:first').text(); var name = $(this).closest('tr').find('td:eq(1)').text(); var age = $(this).closest('tr').find('td:eq(2)').text(); $('#editId').val(id); $('#editName').val(name); $('#editAge').val(age); // 显示编辑模态框 $('#editModal').modal('show'); }); // 监听编辑模态框的保存按钮的点击事件 $('#editModalSaveBtn').click(function () { // 获取表单数据并更新到数据库中 var id = $('#editId').val(); var data = $('#editForm').serialize(); editData(id, data); }); // 监听删除按钮的点击事件 $('#myTable').on('click', '.deleteBtn', function () { // 获取当前行的编号并删除对应的数据 var id = $(this).closest('tr').find('td:first').text(); deleteData(id); }); // 页面加载完成后查询数据并渲染表格 $(function () { queryData(); }); ``` 这样,就可以使用 Ajax 和 jQuery 实现表格的增删改查操作了。当然,具体的实现方式还需要根据需求进行调整和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值