怎样添加一行表格 再添加一行 js

怎样添加一行表格 再添加一行 js,第1张

比如设置table的id为tab

var trHTML = "<tr><td>...</td></tr>"

$("#tab").append(trHTML)//在table最后面添加一行

$("#tab tr:eq(2)").after(trHTML)// 在table的第3行后面添加一行

这样就可以进行动态的添加行了,至于你是通过什么事件来动态添加那就看你自己的意思了,通过button或者div之类的点击事件添加,只要把上面的两行代码放进去就ok,注意,要把var trHTML那行代码放进添加事件里面,不然不管点击多少下,都只能添加一行

$(function() {

$(":button").click(function() {

var tr = "<tr><td>new</td></tr>"

//$("table").append(tr)

$("table tr:eq(2)").after(tr)

})

})

这是我测试用的代码,你可以运行看看

首先定义一个闭包,如下:

var appendText = function(){

//变量作用域为函数内部,外部无法访问

var html = ""

return {

getHtml : function(tmpNum){

html += "<input type='text' name='txt"+tmpNum+"'>"

return html

}

}

}()

然后修改你的代码

oTD.innerHTML = appendText.getHtml(tmpNum)

或者有兴趣的话可以学习一下Jquery,里面有相应方法很轻松地实现你的需求。

用jquery写比较方便点。

答案完善了一下,代码如下。其实这样有bug,但是比较容易修改,只要完善一下function addtab() 就行。

<html>

<head>

  <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script>

  <script>

    function addtab(){

     var tcount=$("#tab tr").length

     var tpl='<tr id="s'+tcount+'"><td>'+tcount+'</td><td>姓名</td><td>年龄</td><td onclick="deltab('+tcount+')">删除</td></tr>'

     $("#tab").append(tpl)

    }

    function deltab(x){

    $("#s"+x).remove()

    }

  </script>

  </head>  

<body>

  <div>

    <span onclick="addtab()">增加</span>

    <table id="tab">

      <tr>

      <td>ID</td><td>姓名</td><td>年龄</td><td> *** 作</td>

      </tr>

    </table>

  </div>

</body>

</html>

但是我的理解是,ID号应该是返回给后台,后台再给前台比较好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11965680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存