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的行號(hào)
var rows = tableObj.rows.length;
if(rows>0){
tableObj.deleteRow(rows-1);
}else{
alert("無(wú)可刪除的卡號(hào)信息!");
}
}
相關(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開(kāi)發(fā)框架經(jīng)驗(yàn)小結(jié)【三】下拉列表Select2插件的使用
本文主要給大家介紹在編輯頁(yè)面中常用到的控件Select2,這個(gè)控件可以更加豐富傳統(tǒng)的Select下拉列表控件,提供更多的功能和更好的用戶(hù)體驗(yàn),2016-05-05
IE8利用自帶的setCapture和releaseCapture解決iframe的拖拽事件方法
最近有個(gè)需求須要實(shí)現(xiàn)左右拖拽功能,頁(yè)面右邊是個(gè)iframe頁(yè)面,在chrome測(cè)試通過(guò)之后,發(fā)現(xiàn)在ie8上面效果不是很理想,查閱相關(guān)資料找到可以使用ie自帶的setCapture和releaseCapture來(lái)解決,需要的朋友可以參考下2016-10-10
中級(jí)前端工程師必須要掌握的27個(gè)JavaScript 技巧(干貨總結(jié))
這篇文章主要介紹了中級(jí)前端工程師必須要掌握的27個(gè)JavaScript 技巧(干貨總結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
windows系統(tǒng)下簡(jiǎn)單nodejs安裝及環(huán)境配置
相信對(duì)于很多關(guān)注javascript發(fā)展的同學(xué)來(lái)說(shuō),nodejs已經(jīng)不是一個(gè)陌生的詞眼,這里不想談太多的nodejs的相關(guān)信息。只說(shuō)一下,windows系統(tǒng)下簡(jiǎn)單nodejs環(huán)境配置2013-01-01
JS實(shí)現(xiàn)手機(jī)號(hào)脫敏的方法詳解
脫敏指的是通過(guò)特定的技術(shù)手段對(duì)敏感數(shù)據(jù)進(jìn)行處理,使其不再直接暴露給用戶(hù)或系統(tǒng),防止敏感信息泄露,通常在測(cè)試、開(kāi)發(fā)、數(shù)據(jù)處理等場(chǎng)景中使用,本文給大家介紹了JS實(shí)現(xiàn)手機(jī)號(hào)脫敏的方法,需要的朋友可以參考下2025-03-03
egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例
這篇文章主要介紹了egg.js的基本使用和調(diào)用數(shù)據(jù)庫(kù)的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

