jquery 动态增加删除行

最近写程序,碰巧有动态增加删除行,下面就记录一下

html就不写了,也没有什么,直接上核心了

新增行

function addRow(obj){  //获得table一共有多少行,方便追加的时候给序号赋值
    var length = $("#grid tr").length;  //获得当前是第几行,以便追加的时候,在该行下进行新增,我这里跨的级别比较多,根据实际层级去定义
    var current = $(obj).parent().parent().parent().prevAll().length;
//     alert(current);  //这里主要定义需要追加的内容,当然要从tr开始,很简单,大家都会的
    var addContent = "";  //核心方法,gird是table的id,current是在第几行后插入,addContent就是要追加的内容了
    addTr(‘grid‘,current,addContent);  //这里是重新排序,将序号从1到n重新排序,碰巧我的代码里第一个tr是不显示的,所以就不+1了
    $("#grid tr").each(function(index){
         if(index != 0){
             $(this).children(‘td‘).eq(0).text(index);
         }
    });
}

好,下面我们看下addTr方法~~这个是在网上找到的,还是蛮好用的

/**
 * 为table指定行添加一行
 *
 * tab 表id
 * row 行数,如:0->第一行 1->第二行 -2->倒数第二行 -1->最后一行
 * trHtml 添加行的html代码
 *
 */
function addTr(tab, row, trHtml){
    //获取table最后一行 $("#tab tr:last")
    //获取table第一行 $("#tab tr").eq(0)
    //获取table倒数第二行 $("#tab tr").eq(-2)
    var $tr=$("#"+tab+" tr").eq(row);
    if($tr.size()==0){
       alert("指定的table id或行数不存在!");
       return;
    }
    $tr.after(trHtml);
 }

删除行,这个就比较简单了

function deleteRow(obj){  //移除
     $(obj).parent().parent().parent().remove();  //重新排序,如果删除的不是最后一行,不重新排序就不能看了~
     $("#grid tr").each(function(index){
         if(index != 0){
             $(this).children(‘td‘).eq(0).text(index);
         }
     });

}

动态添加删除行,就这么几行代码,方便大家使用

ps:  $(this).prevAll().length + 1;//列

时间: 2024-08-07 08:26:52

jquery 动态增加删除行的相关文章

jquery动态增加或删除tr和td【实际项目】

难点: (1)动态增加.删除tr和td (2)每天tr和td都有下标,且下标要动态变化, (3)tr和td为什么下标不能随便写,原因是此处需要把所有tr中的数据以list的形式发送到后台对象中,所有每天tr中的tr中name='对象[index].属性',必须有下标且下标要从0开始且要连续不能跳跃 (4)增加tr和td需要学习细节有: 创建td   var $tdName = $("<td class='in-ctt'></td>"); td添加内容   $td

Jquery动态增加行和删除行

$("#add_5").click(function(){ var str_1="<tr> <td><input type=\"text\" placeholder=\"商品名称\" class=\"reg_input mput\"> </td>" + " <td> <label class=\"radio\"&

JQuery动态增加删除元素

<form action="" method="post" enctype="multipart/form-data"> <label>请选择上传的图片</label> <a href="javascript:addimg()">增加图片</a> <div class="mdiv" id="mdiv"> <di

js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算 各种表单情况的计算 演示 JavaScript Code <script type="text/javascript"> var currentRow = 3; $(document).ready(function(){ $('#calx').calx(); $('#add_item').click(function(){ var $calx = $('#calx'); currentR

给Jquery动态添加的元素添加事件

给Jquery动态添加的元素添加事件 我想很多人都会向我一样曾经 被新元素的事件绑定困惑很久也就是在页面加载完成后给元素绑定了事件,但又新增加的元素上却没有绑定任何事件. js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table>    <tbody>        <tr>        

[转载]给Jquery动态添加的元素添加事件

原文地址:给Jquery动态添加的元素添加事件作者:小飞侠 我想很多人都会向我一样曾经 被新元素的事件绑定困惑很久也就是在页面加载完成后给元素绑定了事件,但又新增加的元素上却没有绑定任何事件. js的事件监听跟css不一样,css只要设定好了样式,不论是原来就有的还是新添加的,都有一样的表现.而事件监听不是,你必须给每一个元素单独绑定事件. 常见的例子是处理表格的时候.每行行末有个删除按钮,点了这个能够删除这一行. <table> <tbody> <tr> <td

2015.3.7小练习(动态增加元素及表格,以及浏览器兼容问题)

最近在对之前理解的HTML/CSS/javaScript查漏补缺,真是学会了Jquery马上就开始反感用javascript写很多jquery一下子就可以实现的选择和操作. 今天是做了一个根本无界面美观性可言的实验part,乱七八糟大乱炖,只为练习功能. 动态增加元素 function addBtn() { var textField = document.getElementById("main"); var input = document.createElement("

jquery动态加载问题

对于append的元素,原有的方法不生效 解决:用on方法 找到的:http://www.zhidao91.com/jquery-html-live-on/ 解决使用jQuery采用append添加的元素事件无效的方法 2014年09月22日 | jQuery | 浏览: 1,118 当我们使用jQuery动态加载html元素,但是元素上面又绑定了Click等事件,针对新添加的元素这些事件是无效的,那么应该怎样解决呢? live方法 live( type, fn )jQuery 1.3中新增的方