急急!!如何用js动态创建表格??在线等回复

crazy_programmer 2006-08-10 11:34:29
我用ajax做了一个查询,服务器端返回一个xml包含结果对象的一个list,在页面中在解析出来,然后列表的形式显示出来,用js如何去完整的创建一个表格,是用这几个方法不document.creatElement("table")?document.creatElement("tr")? docment.creatElement("td")?,创建一个节点就加他父节点上去,我刚学js,ajax,也没见过这种例子,哪位兄弟提供个例子,或者写个,只要完整的创建一行一列就成,此外,如何对每个<tr>节点设置id,并且对每个<tr>设置一个onDblClick事件,用js又如何去做,也请写出来,因为要求双击某个纪录之后,要把这个纪录的详细信息带入下一个页面,我是用<tr>的id来代表纪录的复合主键的,请大家帮帮忙 谢谢!
...全文
327 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cansum396 2006-08-15
  • 打赏
  • 举报
回复
make
crazy_programmer 2006-08-11
  • 打赏
  • 举报
回复
谢谢楼上的各位了,尤其是leohuang(LEO) :),问题解决了:)
leohuang 2006-08-11
  • 打赏
  • 举报
回复
//这个function不用传参function(id)改成function()
row.ondblclick=function(){
//这里显示的时候显示this.id就可以了alert(id)改成alert(this.id);
alert(this.id);
}

我看你的代码乱了,你再重写一下,代码分层写,弄不好就少打个大括号
impeller 2006-08-10
  • 打赏
  • 举报
回复
楼上正解
leohuang 2006-08-10
  • 打赏
  • 举报
回复
try
------------------------------------------
<body>
<script language="javascript">
var table = document.createElement("table");
table.border=1;
for(var i=0;i<4;i++){
var row=table.insertRow(i);
for(var j=0;j<4;j++){
var cell=row.insertCell(j);
cell.innerHTML=i+j;
cell.ondblclick=function(){
alert('ok');
}
}
}
document.body.appendChild(table);
</script>
</body>
cpeiyu 2006-08-10
  • 打赏
  • 举报
回复
建议你换一种写法~!用XSL来实现比较简单一点而且好维护。你要需要的可以告诉我你XML的格式。拿分走人。。。
crazy_programmer 2006-08-10
  • 打赏
  • 举报
回复
修改如下:
for(var i=0;i<4;i++){
for(var i=0;i<4;i++){
var row=table.insertRow(i);
row.id=i;
var id=row.id;
alert("id is :"+id);
row.ondblclick=function(id){
alert(id);
}
for(var j=0;j<8;j++){
var cell=row.insertCell(j);
cell.innerHTML=i+j;
}

alert("id is :"+id); 能正确打出结果来,但ondblclick事件里的alert(id)就是打不出来正确结果.undefined. 有知道问题所在的提示下,要晕了
crazy_programmer 2006-08-10
  • 打赏
  • 举报
回复
for(var i=0;i<4;i++){
for(var i=0;i<4;i++){
var row=table.insertRow(i);
row.id=i;
if(row.id)
alert("row'id defined true or false :"+ true);
row.ondblclick=function(id){
alert(id);
}
for(var j=0;j<8;j++){
var cell=row.insertCell(j);
cell.innerHTML=i+j;
}
我又测试了下,row.id的确定义了并且赋值了 ,但ondblclick的时候,alert打出来undefined?难道row.ondblclick=function(id)中的参数id设置不对?请leohuang(LEO),以及知道问题所在的兄弟们,告诉我答案,谢谢哦 !
leohuang 2006-08-10
  • 打赏
  • 举报
回复
row.id="你的id就是了";
insertRow(i),是在某行插入新的行,返回的是一个行对象
crazy_programmer 2006-08-10
  • 打赏
  • 举报
回复
谢谢楼上的两位! 可能我没讲明白我的要求,我想要的是<tr id="主键" ondblclick="passParameter()">,楼上的var row=table.insertRow(i);这个insertRow(i)能设置<tr>的id吗? 我试过了,insertRow(i)中的这个参数"i"不是用来设置<tr>的id,有什么办法能设置<tr>的id啊?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧