2012-04-14 30 views
0

我已经记录,并于各行的动态生成的表,我有一个类名设置为“hdelete”一个锚标记,使我调用的特定行的链接删除方法被点击。我有一些代码,目前是支持挂钩所有类=“hdelete”jQuery的/ JavaScript代码结合收集

$("#tbl_srecords").click(function (e) { 
     $(e.target).hasClass("hdelete") ? fnDeletehrecord($(e.target)) : null; //Run the delte row function here 
    }); 

锚上面的代码似乎没有工作。它目前所做的只是选择class ='hdelete'的锚的第一次出现。任何人如何最好地实施这个更好的想法?

+0

请不要滥用像这样的'?:'运算符。 JavaScript(和几乎所有其他语言)都有'if()'的原因。 – ThiefMaster 2012-04-14 18:42:06

回答

1

这将一个函数绑定到所有的锚标签带班hdelete并调用fnDeletehrecord功能与元素作为一个jQuery对象过去作为参数。

$("#tbl_srecords a.hdelete").click(function(){ 
     //NOTE: This represents the anchor tag that fired the event 
     fnDeletehrecord($(this)); 
    }); 
+0

我想你没有注意到行'我有一个动态生成的table'。 – 2012-04-14 18:52:06

+1

@SheikhHeera我没有注意到,不过海报并没有指定是动态生成的内容,也有可能是服务器端。我还认为,如果点击是在原始代码中触发该功能,他可能不需要绑定动态内容。也不想蛇你的答案。 – 2012-04-14 18:56:07

+0

+1。 :-) – 2012-04-14 18:56:46

0

这应该工作:

$("#tbl_srecords a.hdelete").click(fnDeletehrecord); 

此代码将处理单击单元内的hdelete类的联系与ID tbl_srecords事件。

2

I have a dynamically generated table

$("#tbl_srecords a.hdelete").live('click', function (e) { 
    fnDeletehrecord($(this)); // pass the element as a parameter to the function 
}); 

live被弃用

这是最新的(推荐)

$("#tbl_srecords").on('click', 'a.hdelete', function (e) { 
    fnDeletehrecord($(this)); // pass the element as a parameter to the function 
}); 

因为动态内容。

+1

不应该将元素作为jquery对象传递给函数吗? – 2012-04-14 18:48:21

+0

谢谢,这是一个错误。 – 2012-04-14 18:49:51

+0

随时乐意提供帮助。如使用。对的()+1 – 2012-04-14 18:50:46