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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM