最近寫程序,碰巧有動態增加刪除行,下面就記錄一下
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;//列
以上就是小編為大家帶來的jquery 動態增加刪除行的簡單實例(推薦)全部內容了,希望大家多多支持~