zoukankan      html  css  js  c++  java
  • jQuery 删除行(带跨行的表格)

    jQuery 删除行(带跨行的表格)

    • 实现效果,点击删除按钮后,在保证原来表格结构的基础上,移除当前行。

     

    • 代码原理:

    1、点击行后判断当前行的第一个<td>,是否包含rowspan属性,如果包含,把rowspan减去1,把这个<td>插入到下一行,移除当前行。

    2、如果当前行不包含rowspan属性,找到它上一级定义rowspan属性的列,将其rowspan减去1,移除当前行。

    实现代码:需要引入 jquery-1.7.2.min.js

    •  代码:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
         <script src="jquery-1.7.2.min.js"></script>
        <script language="javascript">
        
            $(function() {
                $("#table input[type='button'][name^='button']").click(function() {
                    
                    var tr = $(this).parent().parent();     // 当前行
                    var trIndex = tr.index();          // 当前行索引
                    var firstTD = tr.children().eq(0);     // 当前行第一个td
                    
                    // 判断当前行第一列是否包含 rowspan 属性
                    if ( typeof(firstTD.attr("rowspan")) != "undefined") {
        
                        var firstTDText = firstTD.text(); // 获取此行第一列内容
                        var rowspan = firstTD.attr("rowspan");
                        
                        if (rowspan != 1) {
                            // 将td插入到下一行
                            tr.next().children().eq(0).before("<td rowspan="+(rowspan-1)+">"+firstTDText+"</td>");
                        }
                    }
                    else {
                    
                        // 带有 rowspan 属性的行的索引
                        var rowspanIndex = 0;
                    
                        $("#table tr td[rowspan]").each(function(i) {
                                
                            var rowspan = $("#table tr td[rowspan]").eq(i).attr("rowspan");
                            if (parseInt(rowspan) >= trIndex) return false;
                            trIndex = trIndex - parseInt(rowspan);
                            rowspanIndex += 1;
                        });
                        
                        var rowspan = $("#table tr td[rowspan]").eq(rowspanIndex).attr("rowspan");
                        $("#table tr td[rowspan]").eq(rowspanIndex).attr("rowspan",rowspan-1);
                    }
                    
                    tr.remove();
                })
            });
            
        </script>
        <title>无标题文档</title>
        </head>    
        <body>
        <table width="498" border="1" align="center" style="text-align:center" id="table" cellpadding="0" cellspacing="0">
            <tr>
                <th width="95" scope="col">类别</th>
                <th width="114" scope="col">名称</th>
                <th width="92" scope="col">价格</th>
                <th width="87" scope="col">级别</th>
                <th width="98" scope="col">状态</th>
            </tr>
            <tr>
                <td rowspan="4">笔记本</td>
                <td>Acer</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button" id="button" value="删除" /></td>
            </tr>
            <tr>
                <td>华硕</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button2" id="button2" value="删除" /></td>
            </tr>
            <tr>
                <td>DELL</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button3" id="button3" value="删除" /></td>
            </tr>
                    <tr>
                <td>DELL</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button3" id="button3" value="删除" /></td>
            </tr>
            <tr>
                <td rowspan="3">台式机</td>
                <td>台式机11</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button4" id="button4" value="删除" /></td>
            </tr>
            <tr>
                <td>台式机22</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button5" id="button5" value="删除" /></td>
            </tr>
            <tr>
                <td>台式机33</td>
                <td>4900</td>
                <td>1</td>
                <td><input type="button" name="button6" id="button6" value="删除" /></td>
            </tr>
            <tr>
                <td rowspan="3">服务器</td>
                <td>服务器11</td>
                <td>19999</td>
                <td>1</td>
                <td><input type="button" name="button7" id="button7" value="删除" /></td>
            </tr>
            <tr>
                <td>服务器22</td>
                <td>19999</td>
                <td>1</td>
                <td><input type="button" name="button8" id="button8" value="删除" /></td>
            </tr>
            <tr>
                <td>服务器33</td>
                <td>19999</td>
                <td>1</td>
                <td><input type="button" name="button9" id="button9" value="删除" /></td>
            </tr>
        </table>
        </body>
    </html>
  • 相关阅读:
    转:Oracle中的日期和字符串互相转换
    jQuery DateTimePicker 日期和时间插件
    js转换时间戳-转换成 yyyy-MM-dd HH:mm:ss
    linux下载服务器上的文件命令-sz
    eclipse中集成maven
    maven的安装和环境配置
    eclipse复制粘贴变卡的解决办法
    在表单提交之前做校验-利用jQuery的submit方法
    centos7 ipaddr 无法查看虚拟机IP解决办法
    linux下tomcat启动很慢的解决办法
  • 原文地址:https://www.cnblogs.com/duke-cui/p/11099149.html
Copyright © 2011-2022 走看看