点击时怎么才能不增加呢?

money8899 2010-04-23 01:50:37

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New Document</TITLE>


<script language="javascript">

function showoper(){

var oper="601,602,603";//服务器传来的数组串,
var targetArray = oper.split(",");
var table = document.getElementById("listTab");
var cellcount = 5;//行的列数,可以按自己的要求修改
var tr;//创建的行对象

//以下代码自动生成单元格和文本框,并设置文本框的值
for(var i = 0; i < targetArray.length; i++){

if (i % cellcount == 0){
tr = document.createElement("tr");
table.appendChild(tr);
}
var td = document.createElement("td");//创建单元格
//创建单元格时怎么给td 加上样式呢?


td.innerHTML = "   <br/><input type = 'text' name = 'agent"+ i + "' value = '" + targetArray[i] + "' size='5' style=TEXT-ALIGN: center;'readonly='readonly' onclick = 'javascript:clicknum(this.value);' />";//设置单元格的内容

tr.appendChild(td);//将生成的单元格插入行中
}
}



</script>

</HEAD>

<BODY >
<table ><tbody id="listTab"></tbody>
</table>
<table>
<tr>
<td> <input name="" type="button" onClick="showoper();" value="点击时怎么才能不增加呢"></td>
</tr>
</table>

</BODY>
</HTML>






var oper="601,602,603";//服务器传来的数组串,(现在点击模拟),每次oper的值都不一样,怎么才能删除上tb呢,或者把table中的数全清楚在重新生成呢???
有什么好的办法怎么办!!!
...全文
115 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
打字员 2010-04-23
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type='text/css'>
*{padding:0;margin:0;}
body{
text-align:center;
}
</style>
<script type="text/javascript">
var oper="601,602,603";//服务器传来的数组串
var cellcount = 2;//行的列数,可以按自己的要求修
function resetTable(oper, id, cellsLen){
var _valueList = oper.split(',');
var _len = _valueList.length;
var _table = document.getElementById(id);
var _row;
var _cell;
var _rowLen = -1;
for(var i = 0; i < _len; i++) {
if(i % cellsLen == 0) {
_rowLen += 1;
}
_row = _table.rows[_rowLen];
if(!_row) {
_row = _table.insertRow(_rowLen);
}
var _cell = _row.cells[i - _rowLen * cellsLen];
if(!_cell) {
_cell = _row.insertCell(i - _rowLen * cellsLen);
}
_cell.innerHTML = "  <br/><input type = 'text' name = 'agent"+ i + "' value = '" + _valueList[i] + Math.random() + "' size='5' style=TEXT-ALIGN: center;'readonly='readonly' onclick = 'javascript:alert(this.value);' />";
}
}
</script>
</head>
</body>
<table >
<tbody id="listTab"></tbody>
</table>
<table>
<tr>
<td>
<input name="" type="button" onClick="resetTable(oper, 'listTab', cellcount);" value="点击时怎么才能不增加呢">
</td>
</tr>
</table>
<script type="text/javascript">

</script>
</body>
</html>
money8899 2010-04-23
  • 打赏
  • 举报
回复
做到实际应用中有好多问题呀!!!
谢谢各位!
guansong8079776 2010-04-23
  • 打赏
  • 举报
回复


function showoper(){

var oper="601,602,603";//服务器传来的数组串,
var targetArray = oper.split(",");
var table = document.getElementById("listTab");
//table.childNodes.removeAll();
var parent = table.parentNode;//获取父节点即table元素
parent.removeChild(table);//从table中移除原来的tbody
table = document.createElement("tbody"); //新建一个tbody加入表格中
table.id = "listTab";
parent.appendChild(table);

var cellcount = 5;//行的列数,可以按自己的要求修改
var tr;//创建的行对象

//以下代码自动生成单元格和文本框,并设置文本框的值
for(var i = 0; i < targetArray.length; i++){

if (i % cellcount == 0){
tr = document.createElement("tr");
table.appendChild(tr);
}
var td = document.createElement("td");//创建单元格
//创建单元格时怎么给td 加上样式呢?
td.style.backgroundColor = "red";
//或者td.className = "你的css样式类";

td.innerHTML = "   <br/><input type = 'text' name = 'agent"+ i + "' value = '" + targetArray[i] + "' size='5' style=TEXT-ALIGN: center;'readonly='readonly' onclick = 'javascript:clicknum(this.value);' />";//设置单元格的内容

tr.appendChild(td);//将生成的单元格插入行中
}
}

guansong8079776 2010-04-23
  • 打赏
  • 举报
回复
How old are you??
怎么老 是 你?
hepeng_8 2010-04-23
  • 打赏
  • 举报
回复
在getElementById之后先清除下不就可以了吗?
不然你后面是append会附加上去 而不是替换
好像不好把
passself 2010-04-23
  • 打赏
  • 举报
回复
可是楼主你的数据是固定的怎么可能不同那?你的数据一直是:“var oper="601,602,603";”如果这个数据变化了,你的代码根本不用改
xshf12345 2010-04-23
  • 打赏
  • 举报
回复
加上这段话试试
if (table.childNodes.length > 0) {
for (var i = 0; i < table.childNodes.length; i++)
table.removeChild(table.childNodes(i));
}
xshf12345 2010-04-23
  • 打赏
  • 举报
回复
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>New Document</TITLE>


<script language="javascript">

function showoper() {

var oper = "601,602,603"; //服务器传来的数组串,
var targetArray = oper.split(",");
var table = document.getElementById("listTab");
var cellcount = 5; //行的列数,可以按自己的要求修改
var tr; //创建的行对象

if (table.childNodes.length > 0) {
for (var i = 0; i < table.childNodes.length; i++)
table.removeChild(table.childNodes(i));
}
//以下代码自动生成单元格和文本框,并设置文本框的值
for (var i = 0; i < targetArray.length; i++) {

if (i % cellcount == 0) {
tr = document.createElement("tr");
table.appendChild(tr);
}
var td = document.createElement("td"); //创建单元格
//创建单元格时怎么给td 加上样式呢?



td.innerHTML = "   <br/><input type = 'text' name = 'agent" + i + "' value = '" + targetArray[i] + "' size='5' style=TEXT-ALIGN: center;'readonly='readonly' onclick = 'javascript:clicknum(this.value);' />"; //设置单元格的内容

tr.appendChild(td); //将生成的单元格插入行中
}
}



</script>

</HEAD>

<BODY >
<table ><tbody id="listTab"></tbody>
</table>
<table>
<tr>
<td> <input name="" type="button" onClick="showoper();" value="点击时怎么才能不增加呢"></td>
</tr>
</table>

</BODY>
</HTML>

money8899 2010-04-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lyq123333321 的回复:]
LZ是想每次点击button只显示一行数据,而且数据也是不同的,是这个意思吗!!
[/Quote]

是的
jack_liu4Ye 2010-04-23
  • 打赏
  • 举报
回复
LZ是想每次点击button只显示一行数据,而且数据也是不同的,是这个意思吗!!
shan1119 2010-04-23
  • 打赏
  • 举报
回复
function showoper(){

var oper="601,602,603";//服务器传来的数组串,
var targetArray = oper.split(",");
var table = document.getElementById("listTab");
while(table.rows.length>0)table.deleteRow(0);
var cellcount = 5;//行的列数,可以按自己的要求修改
var tr;//创建的行对象

//以下代码自动生成单元格和文本框,并设置文本框的值
for(var i = 0; i < targetArray.length; i++){

if (i % cellcount == 0){
tr = document.createElement("tr");
table.appendChild(tr);
}
var td = document.createElement("td");//创建单元格
//创建单元格时怎么给td 加上样式呢?


td.innerHTML = "   <br/><input type = 'text' name = 'agent"+ i + "' value = '" + targetArray[i] + "' size='5' style=TEXT-ALIGN: center;'readonly='readonly' onclick = 'javascript:clicknum(this.value);' />";//设置单元格的内容

tr.appendChild(td);//将生成的单元格插入行中
}
}
wwq0123 2010-04-23
  • 打赏
  • 举报
回复
document.getElementById("listTab").deleteRow()
Mr-Jee 2010-04-23
  • 打赏
  • 举报
回复
在getElementById之后先清除下不就可以了吗?
不然你后面是append会附加上去 而不是替换
passself 2010-04-23
  • 打赏
  • 举报
回复
table.innerHTML = ""; 这样你就能把整个table清空,你在根据需要生成新的数据就可以了

87,910

社区成员

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

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