jquery table新增一行,并且绑定时间事件(My97)

废话不多说,先上code

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5     <title></title>
 6     <meta charset="utf-8" />
 7     <link href="My97DatePicker/skin/default/datepicker.css" rel="stylesheet" />
 8     <script src="scripts/jquery-1.9.1.min.js"></script>
 9     <script src="My97DatePicker/WdatePicker.js"></script>
10     <style>
11         table {
12             border: 1px solid blue;
13             border-collapse: collapse;
14         }
15
16             table td, th {
17                 border: 1px solid blue;
18             }
19     </style>
20     <script>
21         function Addtr(tbname) {
22             var table = $(tbname);
23             var tbody = table.find("tbody");
24             var trRows = tbody.find("tr");
25             var trRowsLength = trRows.length;
26             var trRow = tbody.find("tr:eq(0)").html();
27             var html="<tr id=‘num_" + trRowsLength + "‘>" + trRow + "</tr>";
28             tbody.append(html);
29         }
30         function Gettime(t) {
31             var td = $(t).parent();
32             var tr = td.parent();
33             var num = tr.attr("id").split("_")[1];
34             var text = $(t).prev();
35             var thisname = text.attr("name");
36             text.attr("id", thisname + "_" + num + "_" + (td.index() + 1));
37             WdatePicker({ el: text.attr("id"), dateFmt: ‘yyyy-MM-dd HH:mm:ss‘ });
38         }
39     </script>
40 </head>
41 <body>
42     <input id="d11" type="text" onclick="WdatePicker()" />
43     <table style="width:100%" id="tbMy97" collapse="1">
44         <thead>
45             <tr><th colspan="5"><input type="button" value="新增" onclick="Addtr(tbMy97)" /></th></tr>
46             <tr>
47                 <th>标题1</th>
48                 <th>标题2</th>
49                 <th>标题3</th>
50                 <th>标题4</th>
51                 <th>标题5</th>
52             </tr>
53         </thead>
54         <tbody>
55             <tr style="display:none">
56                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
57                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
58                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
59                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
60                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
61             </tr>
62             <tr id="num_1">
63                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
64                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
65                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
66                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
67                 <td><input type="text" name="startime" /><input type="button" value="My97" onclick="Gettime(this)" /></td>
68             </tr>
69         </tbody>
70         <tfoot>
71             <tr><th colspan="5">这是脚,你可以添加上传文件功能</th></tr>
72         </tfoot>
73     </table>
74 </body>
75 </html>

这个demo 直接可以用,已调试过。

首先说下这里的table新增一行,

1 function Addtr(tbname) {
2             var table = $(tbname);
3             var tbody = table.find("tbody");
4             var trRows = tbody.find("tr");
5             var trRowsLength = trRows.length;
6             var trRow = tbody.find("tr:eq(0)").html();
7             var html="<tr id=‘num_" + trRowsLength + "‘>" + trRow + "</tr>";
8             tbody.append(html);
9         }

这里的tbname传的是要新增一行的table的id,然后得到这个table的tbody,找到隐藏的那一行的html,在tbody里面append下就可以,简单的写法就是

1  function addTr(tableId) {
2             var tbody = $(tableId).find("tbody");
3             var trRow = tbody.find("tr:eq(0)").html();
4             var html = "<tr>" + trRow + "</tr>";
5             tbody.append(html);
6         }

这样就实现了新增一行,比拼接字符串好多了。这个还可以复用;

上面多写了几行,主要是My97插件需要用到id,这里新增的文本框没有id,我们就创建一个id给它;

Gettime这个function 主要是要得到点击按钮旁边的text的id,然后赋给WdatePicker({el:id});

这样就实现了动态生成的文本框也可以用My97啦。

时间: 2024-07-30 11:11:24

jquery table新增一行,并且绑定时间事件(My97)的相关文章

table新增一行并循环获取table内值

简单介绍 table新增一行,并获取table标签中所有td的值,通过js将其组装成json格式传给后端存储数据库. 实际操作 1.首先需要在页面html创建talbe标签内容,定义th标题 2.给包含td的tr增加一个属性,例如:type="subdata" 3.在table标签下增加一个按钮,并给其增加一个click事件 html内容 4.在js文件中进行click事件内容的编写,按照th标题数量进行td的拼接,也增加了一个删除行功能 js内容 5.js使用each来进行table

JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成&lt;tr class=&quot;trd0&quot;&gt;

JS table新增一行的时候 如何在新增的这一行把样式也加进去 例如变成<tr class="trd0">5 JS: var tab = document.getElementById("tab"); var newTr = tab.insertRow(-1); newTr.id = "tr_" + trId; var newTdContent = newTr.insertCell(1); //第一列 var newTdCaoZuo

jQuery 判断元素上是否绑定了事件

我研究了一下之后发现,jQuery都将事件缓存起来了,其实也是为了防止内存溢出以及页面unload的时候的速度,也包括多函数触发,方便管理等诸多好处,具体可以参考此文. jQuery会在window.unload的时候卸载所有绑定过的事件,释放内存的. OK,言归正传.判断元素上是否绑定过事件用如下语句 jQuery.data(elem,"events")[type] //老版本也能用 $(elem).data("events")[type] //1.2.3以后才能

jQuery查看dom元素上绑定的事件列表

作为技术狂热分子的职业本能,看到一个技术产品的功能,总会忍不住想知道它是怎么被实现的.比如我每每看到别人网站一个很炫的界面或者很酷的功能,就忍不住打开了浏览器的控制台... 好,不扯远,说说当你想看到网站上某个元素绑定的事件函数的代码时应该怎么做吧. 查看原生绑定的事件函数代码 所谓原生就是通过addEventListener方法绑定到dom元素上.这个好办: 审查绑定事件的元素(对着它右键->审查元素) 在弹出的Elements视图的控制台,右侧点击“Event Listeners”页签 然后

jquery动态添加元素无法触发绑定的事件的解决方案

方法一:绑定live事件(live事件只在jquery1.9以下才支持,高版本不支持). //jquery 1.9(不包括1.9)以下可以 $(".btn").live("click",function(){ alert('这里是动态元素添加的事件'); }) 方法二:利用on()事件绑定 ($(ParentEle).on("click",".thisEle",function(){}) $("body")

jquery使用on给input绑定focus事件和alert组合后无限弹出

我们知道,jQuery中的on方法是可以无限触发的,当给input绑定了focus事件的时候,如果在focus事件中使用了alert弹出框的话,很容易就会造成死循环(无限弹出框)的现象. 原因是因为,jQuery的on绑定的这个focus事件是组合了onfocus(获取焦点)和onblur(失去焦点)两个JavaScript事件的,当alert弹出之后如果去点击弹出框的确认按钮就会触发onblur事件,可是在弹出框关闭之后焦点又回到了input输入框中,又触发onfocus事件,陷入了一个无限弹

jquery动态添加的元素绑定的事件不生效的问题

我们可以通过 $(document).on('click', '#xxx', callback) 这种形式解决. 原因,一般情况下,我们是通过 $('#xxx').click(callback) 这种形式去绑定,这种绑定之所以生效是因为,我们程序加载 $(function(){}) 的时候绑定了回调,而动态添加上去的,我们并没有去绑定. 所以动态添加的元素,点击的时候并不会触发我们想要的效果.但是实际上,在我们点击的时候,还是产生了点击事件,只是这个事件没有被我们的预期回调处理,因为我们的回调没

jquery为新增元素添加事件

jquery为新增元素添加事件 默认情况,你使用jquery新增一个元素 ,用class的方法无法绑定事件,需要将绑定的函数放到jquery外面 然后在绑定行内事件 这样就可以绑定了

jquery动态生成html代码绑定事件

今天工作中需要在页面动态生成html代码,但发现新生成的代码的click事件失效了(非动态生成的代码已经绑定了click事件),于是在网上找了很多解决办法,很多都比较复杂,且使用的jquery都比较老,于是结合网上加上自己的测试,找到了一种解决方法. 我使用的jquery是1.9.11,jquery1.7之后就将live方法废弃了,新增了on和off方法,我的解决办法就是使用on方法,首先看代码: <div class="h3"> <h3>李健1</h3&