解决方案 »

  1.   

    http://topic.csdn.net/u/20091105/20/6adea4b1-56ad-478a-8f2e-cab781bd848d.html
    看看这个  很简单的 
     
      

  2.   

    需要JQUERY库支持。但是明显比你一大堆的代码要简洁明了很多。希望你用的着。
    <table>
        <tr>
          <td colspan="2" align="center"><input type="text" name="BagName" id="BagName" style="width:250px" onkeydown="fun_tab()" /></td>
          <td align="center"><input name="BagNum" type="text" id="BagNum" style="width:50px" onkeydown='enter2Addtr();' /></td>
          <td align="center"><input type="button" name="del" id="del" value="删除" onclick="deltr($(this))" />
            <input type="button" name="add" id="add" value="增加" onclick="addtr($(this))" /></td>
        </tr>
    <table>
    <script language="javascript" src="jquery-1.3.2.js"></script>
    <script language="javascript">
    function addtr(e){
    var mytable=e.parent().parent().parent();
    e.parent().parent().clone().insertAfter(e.parent().parent());
    mytable.find("tr:last-child").find("input:text").val("");
    e.css("visibility","hidden");
    mytable.find("tr:last-child").find("div").remove();
    mytable.find("tr:last-child").find("input:first").focus();
    try
        {
       myinput();
       myajax();
    }
    catch(e){}
    }
    function deltr(e){
    var mytable=e.parent().parent().parent();
    if(mytable.find("tr").size()>=2)
    {
    e.parent().parent().remove();
        mytable.find("tr:last-child > td:last-child > #add").css("visibility","visible");
    }
    else
    alert("必须保留至少一条记录!");
    }function enter2Addtr() {   
        if (event.keyCode == 13) {   
            addtr($("#add"));
            } 
    }
    </script>
      

  3.   

    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <style type="text/css">*{font-size:14px}button{margin:3px} </style> 
    <script type="text/javascript"> var mytable=null; window.onload=function(){ 
    mytable=new CTable("tbl",10); 
    } Array.prototype.each=function(f){for(var i=0;i <this.length;i++) f(this[i],i,this)} function $A(arrayLike){ 
    for(var i=0,ret=[];i <arrayLike.length;i++) ret.push(arrayLike[i]); 
    return ret 
    } Function.prototype.bind = function() { 
      var __method = this, args = $A(arguments), object = args.shift(); 
      return function() { 
        return __method.apply(object, args.concat($A(arguments))); 
      } 

    function CTable(id,rows){ 
    this.tbl=typeof(id)=="string"?document.getElementById(id):id;  
    if (rows && /^\d+$/.test(rows)) this.addrows(rows) 
    } CTable.prototype={ 
    addrows:function(n){          //随机添加n个tr 
    new Array(n).each(this.add.bind(this)) 
    }, 
    add:function(){          //添加1个tr 
    var self=this; 
    var tr = self.tbl.insertRow(-1),td1= tr.insertCell(-1),td2= tr.insertCell(-1); 
    var chkbox=document.createElement("INPUT") 
    chkbox.type="checkbox" 
    chkbox.onclick=self.highlight.bind(self) 
    td1.appendChild(chkbox) 
    td1.setAttribute("width","35") 
    td2.innerHTML="A: <INPUT NAME=A /> <br />B: <INPUT NAME=B />"; 
    }, 
    del:function(){          //删除所选tr 
    var self=this 
    $A(self.tbl.rows).each(function(tr){if (self.getChkBox(tr).checked) tr.parentNode.removeChild(tr)}) 
    }, 
    up:function(){              //上移所选tr 
    var self=this 
    var upOne=function(tr){          //上移1个tr 
    if (tr.rowIndex>0){ 
    self.swapTr(tr,self.tbl.rows[tr.rowIndex-1]) 
    self.getChkBox(tr).checked=true 


    var arr=$A(self.tbl.rows).reverse() 
    if (arr.length>0 && self.getChkBox(arr[arr.length-1]).checked){ 
    for(var i=arr.length-1;i>=0;i--){ 
    if (self.getChkBox(arr[i]).checked){ 
    arr.pop()            
    }else{ 
    break 



    arr.reverse().each(function(tr){if (self.getChkBox(tr).checked) upOne(tr)}); 
    }, 
    down:function(){ 
    var self=this 
    var downOne=function(tr){      
    if (tr.rowIndex <self.tbl.rows.length-1)  { 
    self.swapTr(tr,self.tbl.rows[tr.rowIndex+1]); 
    self.getChkBox(tr).checked=true; 


    var arr=$A(self.tbl.rows) if (arr.length>0 && self.getChkBox(arr[arr.length-1]).checked){ 
    for(var i=arr.length-1;i>=0;i--){ 
    if (self.getChkBox(arr[i]).checked){ 
    arr.pop() 
    }else{ 
    break 



    arr.reverse().each(function(tr){if (self.getChkBox(tr).checked) downOne(tr)}); 
    }, 
    highlight:function(){              //设置tr的背景色 
    var self=this; 
    var evt=arguments[0] || window.event 
    var chkbox=evt.srcElement || evt.target 
    var tr=chkbox.parentNode.parentNode 
    chkbox.checked?self.setBgColor(tr):self.restoreBgColor(tr) 
    }, 
    swapTr:function(tr1,tr2){            //交换tr1和tr2的位置 
    var target=(tr1.rowIndex <tr2.rowIndex)?tr2.nextSibling:tr2; 
    var tBody=tr1.parentNode 
    tBody.replaceChild(tr2,tr1); 
        tBody.insertBefore(tr1,target); 
    }, 
    getChkBox:function(tr){          //从tr得到 checkbox对象 
    return tr.cells[0].firstChild 
    }, 
    restoreBgColor:function(tr){          
    tr.style.backgroundColor="#ffffff"  
    }, 
    setBgColor:function(tr){ 
    tr.style.backgroundColor="#c0c0c0" 

    } function f(a,b){ 
    var sumRow=function(row){return Number(row.cells[1].innerHTML)+Number(row.cells[2].innerHTML)}; 
    return sumRow(a)>sumRow(b)?1:-1; 
    } </script> </head> 
    <body> <button  onClick="javascript:mytable.add()">添加一行 </button> 
    <button  onClick="javascript:mytable.del()">删除选定行 </button> 
    <button  onClick="javascript:mytable.up()">上移选定行 </button> 
    <button  onClick="javascript:mytable.down()">下移选定行 </button> 
    <table width=100%> 
    <tr> 
    <td valign="top"> <table border id="tbl" width="80%"> </table> </td> 
    </tr> 
    </table> 
    </body> 
    </html> 
      

  4.   

    表格操作:http://dl.dropbox.com/u/2555620/jquery/table.html
    http://dl.dropbox.com/u/2555620/jquery/table%20moveRow.html
      

  5.   

    js脚本写在<head></head>之间阿 我都看晕了 你的要求很简单  可以参靠以下这个:<html> 
    <head> 
    <title> </title> 
    <script type="text/javascript"> 
    function $(elem) 

    return document.getElementById(elem); 

    var num=1; 
    function addd() 

    var tab=$("tb"); 
    var row=tab.insertRow(-1); 
    row.id="row"+num; 
    var cell1=row.insertCell(-1); 
    var cell2=row.insertCell(-1); 
    var cell3=row.insertCell(-1); 
    var cell4=row.insertCell(-1); 
    var cell5=row.insertCell(-1); 
    var cell6=row.insertCell(-1); 
    cell1.innerHTML="<select name='xxx'></select>"; 
    cell2.innerHTML="<input  type='radio'  value='sex' name='sex'>";
    cell3.innerHTML=" <input type='text'>"; 
    cell4.innerHTML=" <input type='text'>"; 
    cell5.innerHTML=" <input type='text'>"; 
    cell6.innerHTML=" <input type='button' onclick='del("+num+")' value='delete' >"; 
    num++; }
    function del(num) 

      
        var row=$("row"+num); 
        var tab=$("tb");    
        tab.deleteRow(row.rowIndex); 
        

    </script> 
    </head> 
    <body> 
    <table id="tb" border=1> 
    </table> 
        <input type="button" value="add" id="ok" onclick="addd();"/> 
    </body> 
    </html>