<!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 = " &nbsp;&nbsp;<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中的数全清楚在重新生成呢???
有什么好的办法怎么办!!!

解决方案 »

  1.   

     table.innerHTML = ""; 这样你就能把整个table清空,你在根据需要生成新的数据就可以了
      

  2.   

    在getElementById之后先清除下不就可以了吗?
    不然你后面是append会附加上去 而不是替换
      

  3.   

    document.getElementById("listTab").deleteRow()
      

  4.   

    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 = " &nbsp;&nbsp;<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);//将生成的单元格插入行中
      }
    }
      

  5.   

    LZ是想每次点击button只显示一行数据,而且数据也是不同的,是这个意思吗!!
      

  6.   

    <!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 = " &nbsp;&nbsp;<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>
      

  7.   

    加上这段话试试
    if (table.childNodes.length > 0) {
                for (var i = 0; i < table.childNodes.length; i++)
                    table.removeChild(table.childNodes(i));
            }
      

  8.   

    可是楼主你的数据是固定的怎么可能不同那?你的数据一直是:“var oper="601,602,603";”如果这个数据变化了,你的代码根本不用改
      

  9.   

    在getElementById之后先清除下不就可以了吗?
    不然你后面是append会附加上去 而不是替换
    好像不好把 
      

  10.   

    How old are you??
    怎么老  是  你?
      

  11.   


      
    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 = " &nbsp;&nbsp;<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);//将生成的单元格插入行中
      }
    }
      

  12.   


    <!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 = "&nbsp;&nbsp;<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>