利用js动态操作表格行列
/*
*根据传进来的表结构 和相应的列,返回
*/
function getTbValueByCols(obj,colindex)
{
var str = "";
for(var i= 0; i < obj.rows.length; i++)
str += obj.rows[i].cells[colindex].innerHTML+"|";
if(str != "")
str = str.substr(0,str.length-1);
return str;
}
/*
*表的相应的列的赋值
*/
function initiTbValueByCols(obj,colindex,arrV)
{
for(var i= 0; i < obj.rows.length; i++)
{
obj.rows[i].cells[colindex].innerHTML=arrV[i];
}
}
/*
*根据对象 pos:(startP,endP),和第几列 控制合并列
*/
function mergeRow(obj,pos,columnIndex)
{
var arrPos = pos.split(',');
var startPos = arrPos[0];
var endPos = arrPos[1];
obj.rows[startPos].cells[columnIndex].rowSpan = (endPos-startPos)+1;
var i = parseInt(startPos)+1;
for(;i<=endPos; i++)
{
Element.hide(obj.rows[i].cells[columnIndex]);
}
}
/*
*功 能:删除未显示的行
*创建人:
*/
function delHideRows(obj)
{
var len = obj.rows.length;
for(var i=len-1; i>-1; i--)
{
if(Element.visible(obj.rows[i]) == false)
Element.remove(obj.rows[i]);
}
}
/*
*删除表的相应的列的值
*/
function delTbValueByCols(obj,colindex)
{
for(var i= 0; i < obj.rows.length; i++)
obj.rows[i].cells[colindex].innerHTML='';
}
/*
*把表的相应的列值 赋给另一个表 某列
*/
function copyTbColsToOtherTbCols(objSource,colIndexSource,objTarget,colIndexTarget)
{
for(var i=1; i <objSource.rows.length; i++)
objTarget.rows[i-1].cells[colIndexTarget].innerHTML=trim(objSource.rows[i].cells[colIndexSource].innerHTML);
}
/*
* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"
*/
function getTbColsValue(obj,cols)
{
var arr = new Array(obj.rows.length);
for(var i = 0; i < obj.rows.length; i++)
{
for(var j = 0; j < cols.length; j++)
{
arr[i] += trim(obj.rows[i].cells[cols[j]].innerHTML) + "|"
}
if(arr[i] != null && arr[i] != "")
arr[i] = arr[i].substr(9);
}
return arr;
}
/*
* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"
*/
function getTDValue(obj,rowIndex,colsIndex)
{
var v='';
try
{
v = trim(obj.rows[rowIndex].cells[colsIndex].innerHTML)
}
catch(ex)
{}
return v;
}
/*
* 把表中指定的列,以数组的形式返回,每一列之间的值 以"|"分割 最后一位是 "|"
*/
function setTDValue(obj,rowIndex,colsIndex,v)
{
try
{
obj.rows[rowIndex].cells[colsIndex].innerHTML=v;
}
catch(ex)
{}
}
关注微信公众号福利!!!
回复关键字「666」获取一份最新 Java 架构资料,你要的都有!
回复关键字「Java」获取JVM, 多线程等Java技术系列教程;
回复关键字「spring」获取Spring, Spring Boot, Spring Cloud教程;
回复关键字「架构」获取分布式、微服务、架构、高并发等系列干货;
回复关键字「面试」获取各种 Java 面试题及答案、面试实战经验;