怎样在Table中动态添加一行数据

bithw 2004-01-15 04:02:59
在Table中有5列,分别是Text,select,select,text,text类型,怎样动态增加包含上述类型的一行数据(select中的option也要复制过来)代码如下:
<table borderColor="#606060" cellSpacing="0" borderColorDark="#FFFFFF" cellPadding="0" width="600" align="center" borderColorLight="#606060" border="1" id=mytable>
<TR align="center" height="30" bgcolor="#8080FF">
<td><b>ÎïÁÏ´úÂë</b></td>
<td><b>Æ·    Ãû</b></td>
<td><b>ÅúºÅ</b></td>
<td><b>¼ìÑéµ¥ºÅ</b></td>
<td><b>ÊýÁ¿ </b></td>
</tr>
<tr align=center id="NewTR">
<td><select name="MatID1" onChange="javascript:changelocation(document.hotelquery.MatID1.options[document.hotelquery.MatID1.selectedIndex].value);" size="1">
<option value=" | | |" selected>ÇëÑ¡Ôñ¡­</option>
<option value="<%=trim(rs1("matid"))&"|" & trim(rs1("matname"))%>"><%=trim(rs1("matid"))%></option>

<%


rs1.movenext
do while not rs1.eof
%>
<option value="<%=trim(rs1("matid"))&"|" & trim(rs1("matname"))%>"><%=trim(rs1("matid"))%></option>
<%
rs1.movenext
loop


%>
</select></td>
<td><input type="text" name="MatName1" size="12" readonly></td>
<td><select name="BatchID1" size="1" onChange="javascript:checkid1(document.hotelquery.BatchID1.options[document.hotelquery.BatchID1.selectedIndex].value);">
<option value=" | | |" selected>ÇëÑ¡Ôñ¡­</option>
</select>
</td>
<td><input type="text" name="PassID" readonly size="12"></td>
<td><input type="text" name="GoodsNum" size="20"></td>
</tr>
</table>
...全文
767 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gen2 2004-01-16
  • 打赏
  • 举报
回复
给无素增加事件处理过程:obj.attachEvent("onmouseover",functionName);
这里的函数名就像C中的函数入口地址,alert(functionName);就会显示函数的内容!
var t = functionName;
t(parametersList);//就可调用指定函数
对表格内元素的维护最好查阅MSDN帮助!!!!
gleefuly 2004-01-16
  • 打赏
  • 举报
回复
newCell.innerHTML="<select></select>";这样加入控件是可以的。(\回楼主)
gleefuly 2004-01-16
  • 打赏
  • 举报
回复
newCell.onMouseOver="MouseOver()";
加入方法并不能触发?????
bithw 2004-01-16
  • 打赏
  • 举报
回复
我说的是要在Table中插入新的Text、select类型表格。而且其中的数据也要过来。
gleefuly 2004-01-16
  • 打赏
  • 举报
回复
搂主的问题参考一下不难解决的。我没有向他说的那样试过,不过应该没问题的。除非不愿分析,等着别人把代码准确无误的写出来。哈哈,是不是有点训人的口气???
gleefuly 2004-01-16
  • 打赏
  • 举报
回复
大小写不区分的。我向别人请教到一个办法。供大家参考:
var newRow=table.insertRow()
var newTR=document.CreatElement("<td onMouseOver=\"MouseOver()\"></td>");
new TR.innerHTML="aaaaaa";
new.applentElement(newTR);

这样是可以的,个别单词我没记住,但问题解决了。拼错的地方大家查书吧。
哈哈,能不能给分呀????
toshiya 2004-01-16
  • 打赏
  • 举报
回复
onMouseOver肯定是错的啦
JS访问事件应该全部小写。
比如
o.onmouseover = "";

var newRow=table.insertRow(0);
var newCell=newRow.insertCell(0);

这个是对的,只要保证table是一个TABLE对象就可以了。
后面的参数可以不加的,默认加在最后,或传一个行/列的index值来指定插到某个位置。
bithw 2004-01-16
  • 打赏
  • 举报
回复
这样还是不行,该怎样动态加入控件
suhuoqiang 2004-01-15
  • 打赏
  • 举报
回复
for(var i=0;i<10;i++){
var newRow=table.insertRow()
for(var j=0;j<10;i++){

var newCell=newRow.insertCell(j)
newCell.onMouseOver="MouseOver()";
newCell.innerHTML=j;
}
}
gleefuly 2004-01-15
  • 打赏
  • 举报
回复
动态添加一行,可以使用<table>的insertRow()方法。和<tr>的insertCell()方法。如上。但是我还没有解决。为动态添加的行,添加事件。可以共同研究一下。
gleefuly 2004-01-15
  • 打赏
  • 举报
回复
用javascript编写网页脚本需要动态生成Table,
用insertRow()生成新的行。在加入单元格时怎样为单元个添加事件?
function MouseOver()
{
alert("MouseOver 事件被触发!")
}
var newRow=table.insertRow(0)
var newCell=newRow.insertCell(0)
newCell.onMouseOver="MouseOver()";
newCell.innerHTML="123"
///////////////
使用innerHTML给单元个付值是成功的。但是为单元个添加事件,不能被触发。不知道我错在哪里?请多指教。
kisslan 2004-01-15
  • 打赏
  • 举报
回复
楼主,都是乱码,看不很明白

87,910

社区成员

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

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