这个问题纠结了好久,动态生成的表格,直接按照普通方式,οnclick=“afun();” 无法在function内获取到正确的this,就无法获取表格其他项数据。绑定也无法成功,直接没反应。
后来debug了一下,感觉jquery绑定事件实在加载前进行的,此时还没有动态生成表格,因此就失败了吧。
解决方法如下:
1 JQuery动态生成表时,做好ID标记,class当然也可以
如'<td><button id="editproduct" class="btn btn-primary" ><i class="glyphicon glyphicon-user"></i></button></td>'
2 绑定click事件,注意监听table而不是直接监听这个ID,table是在html里静态存在,jquery仅动态生成tbody标记内容 tr td
$("table").on('click',"button[id='editproduct']" ,function() { }
3 可以在function内正确获取this ,正确获取表内其他项数据。
var userName = $(this).parents("tr").find("#productid").text();
查了好久才解决,前端小白一个,呵呵。。。。。。。。。
最近事情多,越来越难抽时间做这个小项目了。。。继续坚持吧。