JS增加行復(fù)制行刪除行的實(shí)現(xiàn)代碼
var customerInfoMethod ={
//復(fù)制增加行
copyrow:function(obj,id)
{
var rowIndex=obj.parentNode.parentNode.rowIndex;
var resrow=document.getElementById(id);
rowIndex--;
var newRow=resrow.cloneNode(true);//document.createElement("tr");
var parent = resrow.parentNode;
if(parent.lastChild == resrow){
//如果targetElement是parent最后一個(gè)子元素,插入newElement
parent.appendChild(newRow);
}else{
//如果不是,插入到targetElement下一個(gè)兄弟節(jié)點(diǎn)的前面
parent.insertBefore(newRow, resrow.nextSibling);
}
//newRow.innerHTML=resrow.innerHTML;
var selectObj = newRow.getElementsByTagName("select");
for(var a=0;a<selectObj.length;a++){
selectObj[a].options[0].selected=true;
}
var inputObj = newRow.getElementsByTagName("input");
inputObj[0].style.display="";
inputObj[1].style.display="none";
},
//復(fù)制增加行
copyrowUpdate:function(obj,id)
{
var rowIndex=obj.parentNode.parentNode.rowIndex;
var resrow=document.getElementById(id);
rowIndex--;
var newRow=resrow.cloneNode(true);//document.createElement("tr");
var parent = resrow.parentNode;
if(parent.lastChild == resrow){
//如果targetElement是parent最后一個(gè)子元素,插入newElement
parent.appendChild(newRow);
}else{
//如果不是,插入到targetElement下一個(gè)兄弟節(jié)點(diǎn)的前面
parent.insertBefore(newRow, resrow.nextSibling);
}
//newRow.innerHTML=resrow.innerHTML;
var selectObj = newRow.getElementsByTagName("select");
for(var a=0;a<selectObj.length;a++){
selectObj[a].options[0].selected=true;
}
var inputObj = newRow.getElementsByTagName("input");
for(var i=0;i<inputObj.length-2;i++){
inputObj[i].value="0";
}
inputObj[inputObj.length-2].style.display="";
inputObj[inputObj.length-1].style.display="none";
},
//刪除行
deleteRow:function(rootId,obj) {
var rootTable = $(rootId);
rootTable.deleteRow(obj.parentNode.parentNode.rowIndex);
}
}
/**
增加行 fanjf
*/
function addRow(tableId,trId){
var tableObj = document.getElementById(tableId);
var trObj = document.getElementById(trId);
//var trIndex = trObj.rowIndex+1;
var rows = tableObj.rows.length;
var cell = "";
var tr = tableObj.insertRow(rows);
for(i=0;i<trObj.cells.length;i++){
cell= tableObj.rows(rows).insertCell(i);
cell.innerText= trObj.cells(i).innerText;
cell.className= trObj.cells(i).className;
cell.innerHTML= trObj.cells(i).innerHTML;
}
}
/**
刪除行 fanjf
*/
function deleteRow(tableId,trId){
var tableObj = document.getElementById(tableId);
var trObj = document.getElementById(trId);
//var trIndex = trObj.rowIndex;//復(fù)制tr的行號
var rows = tableObj.rows.length;
if(rows>0){
tableObj.deleteRow(rows-1);
}else{
alert("無可刪除的卡號信息!");
}
}
相關(guān)文章
JavaScript常用驗(yàn)證函數(shù)實(shí)例匯總
這篇文章主要介紹了JavaScript常用驗(yàn)證函數(shù),實(shí)例匯總了如字符串驗(yàn)證、表單驗(yàn)證及js常用特效等諸多js常用驗(yàn)證函數(shù)及相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11
基于BootStrap Metronic開發(fā)框架經(jīng)驗(yàn)小結(jié)【三】下拉列表Select2插件的使用
本文主要給大家介紹在編輯頁面中常用到的控件Select2,這個(gè)控件可以更加豐富傳統(tǒng)的Select下拉列表控件,提供更多的功能和更好的用戶體驗(yàn),2016-05-05
IE8利用自帶的setCapture和releaseCapture解決iframe的拖拽事件方法
最近有個(gè)需求須要實(shí)現(xiàn)左右拖拽功能,頁面右邊是個(gè)iframe頁面,在chrome測試通過之后,發(fā)現(xiàn)在ie8上面效果不是很理想,查閱相關(guān)資料找到可以使用ie自帶的setCapture和releaseCapture來解決,需要的朋友可以參考下2016-10-10
中級前端工程師必須要掌握的27個(gè)JavaScript 技巧(干貨總結(jié))
這篇文章主要介紹了中級前端工程師必須要掌握的27個(gè)JavaScript 技巧(干貨總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-09-09
windows系統(tǒng)下簡單nodejs安裝及環(huán)境配置
相信對于很多關(guān)注javascript發(fā)展的同學(xué)來說,nodejs已經(jīng)不是一個(gè)陌生的詞眼,這里不想談太多的nodejs的相關(guān)信息。只說一下,windows系統(tǒng)下簡單nodejs環(huán)境配置2013-01-01
egg.js的基本使用和調(diào)用數(shù)據(jù)庫的方法示例
這篇文章主要介紹了egg.js的基本使用和調(diào)用數(shù)據(jù)庫的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

