您的位置:首页 > 其它

改变table中checkbox选中行的内容

2009-03-19 23:01 169 查看
我想改变table中checkbox选中行的内容,在网上搜索了一晚上,终于实现了,现在整理如下:

1.定义一个寻找父结点的方法,其函数代码如下:

function searchObjByTagName(obj, tag){
while (obj != null && typeof(obj.tagName) != "undefind") {
if (obj.tagName == tag.toUpperCase())
return (obj);
obj = obj.parentElement;
}
return null;
}

2. 通过选中的checkbox来查找它所在的行(利用上面的函数),并将该行删除;

3.在自己的table刚删除的位置新建一行 ;

4.最后是向tr中添加td,并改变其里面的内容.

其完整的例子如下:

function changerowtext(){
var a = document.getElementsByName("infos")//checkbox的name
for (var i = 0; i < a.length; i++) {
if (a[i].checked) {
//先找到选择的checkbox所在的行,并删除
searchObjByTagName(a[i], "TR").removeNode(true);
//在自己的table刚删除的位置新建一行
var tr = tablename.insertRow(i + 1);//自己table的name
//最后是向tr中添加td,并改变其里面的内容
var td;
for (var j = 0; tablename.rows[0].cells.length; j++) {
td = tr.insertCell();
td.innerHTML = "aaaa";//你要填充的td的内容
}
}
}

}

5.总结一下:这是只是控控制一行,其实也可以控制多行,反正原理都一样,先删除再添加,上面的例子中,我们可以根据i值不同而进行不同的操作。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: