您的位置:首页 > Web前端 > JavaScript

JS 根据表格(TABLE)模板增加一行(ROW)

2013-08-31 15:39 519 查看
/**********************
*增加一行
**表名、序号、模板类型
*************************/
function insertRow(pageCode,index,tpltype){
index = index==null?0:index;
var gi = parseInt(globalindex[pageCode]);
if(isNaN(gi)){//不是数字
globalindex[pageCode] = index;//修改全局数组中记录该表格的当前序号
gi = index;
}
var tbody = document.getElementById(pageCode+"_Data").tBodies.item(0);//获取第一个<TBody>里的内容
var tBodiesLen =document.getElementById(pageCode+"_Data").tBodies.item(0).rows.length;//获取第一个<TBody>里的行(即<tr>)数
for (var i =0;i<tBodiesLen;i++)
{
if(document.getElementById(pageCode+"_Data").tBodies.item(0).rows[i].id==tpltype)
{//匹配模板类型
var s  = tbody.rows[i].outerHTML;
while(s.indexOf("_[0]")>-1){//宏替换
s = s.replace("_[0]","["+ gi +"]");
}
while(s.indexOf("_[seqno]")>-1){//宏替换
s = s.replace("_[seqno]",(gi+1));//设置序号
}
s = s.replace(tpltype,pageCode+"_list"+gi);//改变tr的id,让其符合删除行时的规律
var tdiv = document.createElement("div");//创建临时div
tdiv.innerHTML = "<table id=tmpTable>"+s+"</table>";//设置临时div的innerHTML
tdiv.style.display = "none";//设置临时DIV为隐藏

document.appendChild(tdiv);//添加DIV

var row = document.getElementById("tmpTable").tBodies.item(0).rows[0].cloneNode(true);//克隆临时table的第一行(因为每次只增加一行)
document.removeChild(tdiv);//删除临时div
document.getElementById(pageCode).tBodies.item(0).appendChild(row);//把行添加到指定的表格中
break;
}
}
gi++;//表格序号增加1
globalindex[pageCode] = gi;//修改记录表格序号的数组

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: