zoukankan      html  css  js  c++  java
  • jQuery动态添加删除与添加表行代码

    具体实现代码如下:

    table的HTML如下:

    代码如下 复制代码
    <input type="button" value="添加一行" />
    <table>
    <tr><td><input type="button" class = "del" value="删除该行"/></td></tr>
    </table>

    添加行的jQuery代码如下:

    代码如下 复制代码
    $(function(){
    $("tr").last().after("<tr><td><input type=‘button’ class = ‘del’ value=‘删除该行’/></td></tr>");
    })

    删除代码如下:

    $(this).parents("tr").remove();

    上面代码感觉不合理也有不兼容我们可以稍加修改

    增加的代码如下

    代码如下 复制代码
    function AddRow(){
    var vTb=$("#TbData");//得到表格ID=TbData的jquery对象
    //所有的数据行有一个.CaseRow的Class,得到数据行的大小
    var vNum=$("#TbData tr").filter(".CaseRow").size()+1;//表格有多少个数据行
    var vTr=$("#TbData #trDataRow1"); //得到表格中的第一行数据
    var vTrClone=vTr.clone(true);//创建第一行的副本对象vTrClone
    vTrClone[0].id="trDataRow"+vNum;//设置 第一个Id?榈鼻盎袢∷饕?环乐怪匮}添加多个ID??rDataRow1的数据行;一次添加一个;
    vTrClone.appendTo(vTb);//把副本单元格对象添加到表格下方
    }

    删除的代码如下

    代码如下 复制代码
    var vNum=$("#TbData tr").filter(".CaseRow").size()+1;//表格有多少个数据行;
    if(vNum<=2)
    {
    alert('请至少留一行');
    return;
    }
    var vbtnDel=$(this);//得到点击的按钮对象
    var vTr=vbtnDel.parent("td").parent("tr");//得到父tr对象;
    if(vTr.attr("id")=="trDataRow1")
    {
    alert('第一行不能删除!'); //第一行是克隆的基础,不能删除
    return;
    }else{
    vTr.remove();
    }

    下面我们写一个完整的按行实现添加,删除,并在删除后,动态实现下在参考

    代码如下 复制代码
    <!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/xh(www.111cn.net)tml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="jquery-1.3.1.js"></script>
    <title>demo about table</title>
    <script>
    jQuery(function($){
    //添加行
    $("#add1").click(function(){
    $("#table2>tbody").append('<tr><td>新增1</td><td><button onclick="deltr(this)">删除</button></td></tr>')
    });
    });
    //删除行的函数,必须要放domready函数外面
    function deltr(delbtn){
    $(delbtn).parents("tr").remove();
    };
    jQuery(function($){
    //定义删除按钮事件绑定
    //写里边,防止污染全局命名空间
    function deltr(){
    $(this).parents("tr").remove();
    };
    //已有删除按钮初始化绑定删除事件
    $("#table2 .del").click(deltr);
    //添加行
    $("#add2").click(function(){
    $('<tr><td>新增行2</td><td><button class="del">删除</button></td></tr>')
    //在这里给删除按钮再次绑定事件。
    .find(".del").click(deltr).end()
    .appendTo($("#table2>tbody"));
    });
    });

    jQuery(function($){
    //第四个表格的删除按钮事件绑定
    $("#table2").click(function(e) {
    if (e.target.className=="del"){
    $(e.target).parents("tr").remove();
    };
    });
    //第四个表格的添加按钮事件绑定
    $("#add3").click(function(){
    $("#table2>tbody").append('<tr><td>新增行3</td><td><button class="del">删除</button></td></tr>')
    });
    });

    </script>
    </head>

    <body>
    <br/>
    <table id="table2">
    <tbody>
    <tr>
    <td>这行原来就有</td>
    <td><buttonclass="del">删除</button></td>
    </tr>
    <tr>
    <td>这行原来就有</td>
    <td><buttonclass="del">删除</button></td>
    </tr>
    </tbody>
    </table>
    <input type="button" name="add1" id="add1" value="新增1"/>
    <input type="button" name="add2" id="add2" value="新增2"/>
    <input type="button" name="add3" id="add3" value="新增3"/>
    </body>
    </html>

    from:http://www.111cn.net/wy/jquery/46175.htm

  • 相关阅读:
    【C语言】23typedef
    C#蓝牙开发之查找设备以及配对
    GridView获取隐藏列的值
    PDA(Windows Mobile)调用远程WebService
    VS2008使用宏记录来实现自动增加注释信息
    CS 系统框架二[部分内容更新]
    GridView里面嵌套RadioButton
    .Net 以报表的形式加载SAP里面的数据
    取GridView的PagerTemplate里面的控件ID
    《深入Ajax架构和最佳实践》读书笔记
  • 原文地址:https://www.cnblogs.com/alibai/p/4104565.html
Copyright © 2011-2022 走看看