本文实例讲述了JQuery动态添加和删除表格行的方法。分享给大家供大家参考。具体分析如下:
昨天做页面表格行动态添加和删除,看了无数的介绍,发现了一个好东东,JQuery。用它实现起来还真的是很方便,这个是我用到我们平台的一个方法。
复制代码 代码如下:
//记录添加行数
var areaCount=1;
//记录实际表格行数
var rowCount=1;
//删除模板html
var delRowTemplete = "<td><a href='javascript:void(0);' class='content_del' onclick='deleteBatchRow(this)'>删除</a></td>";
//表格行模板
var addRowTemplete= "";
$(function(){
//首先取出需要克隆的模板,模板行<tr>id为rowTemplete_0
addRowTemplete= $("#rowTemplete_0").html();
});
//增加行
function addBatchRow(type){
var templete = $("<tr id='rowTemplete_"+areaCount+"'></tr>");
//递增序号,替换掉tr或者td中存在[0]、_0或者(0)防止id相同,这么设计主要是为了后台取值时方便
templete = templete.append(addRowTemplete.replace(/\[0\]/g,"["+areaCount+"]").replace(/_0/g,"_"+areaCount).
replace("processStat(\"0\")","processStat("+areaCount+")"));
//找到最后一条存在的行,在其后拼接一行
var flag = false;
for(var i=areaCount-1;i>=0;i--){
if($("#rowTemplete_"+i).length>0){ $("#rowTemplete_"+i).after(templete.append(delRowTemplete));
break;}
}
//计数加一
areaCount++; rowCount++;
}
//删除行
function deleteBatchRow(obj){
if(rowCount>1) {
$(obj).parents("tr").remove();
rowCount--;
} else alert("至少保留一行");//如果全部删除了,那么也就没有办法再添加行了,模板行也被删了呀
}
//取得条数
function getAreaCount(){
return rowCount;
}
var areaCount=1;
//记录实际表格行数
var rowCount=1;
//删除模板html
var delRowTemplete = "<td><a href='javascript:void(0);' class='content_del' onclick='deleteBatchRow(this)'>删除</a></td>";
//表格行模板
var addRowTemplete= "";
$(function(){
//首先取出需要克隆的模板,模板行<tr>id为rowTemplete_0
addRowTemplete= $("#rowTemplete_0").html();
});
//增加行
function addBatchRow(type){
var templete = $("<tr id='rowTemplete_"+areaCount+"'></tr>");
//递增序号,替换掉tr或者td中存在[0]、_0或者(0)防止id相同,这么设计主要是为了后台取值时方便
templete = templete.append(addRowTemplete.replace(/\[0\]/g,"["+areaCount+"]").replace(/_0/g,"_"+areaCount).
replace("processStat(\"0\")","processStat("+areaCount+")"));
//找到最后一条存在的行,在其后拼接一行
var flag = false;
for(var i=areaCount-1;i>=0;i--){
if($("#rowTemplete_"+i).length>0){ $("#rowTemplete_"+i).after(templete.append(delRowTemplete));
break;}
}
//计数加一
areaCount++; rowCount++;
}
//删除行
function deleteBatchRow(obj){
if(rowCount>1) {
$(obj).parents("tr").remove();
rowCount--;
} else alert("至少保留一行");//如果全部删除了,那么也就没有办法再添加行了,模板行也被删了呀
}
//取得条数
function getAreaCount(){
return rowCount;
}
后台使用的也是比较容易的,在FormBean里面定义数组变量来get和set,很方便的。
希望本文所述对大家的jQuery程序设计有所帮助。