2012-02-05 42 views
1

请原谅我的英语。 我一直在试图创建一个动态表格,它可以在编辑按钮后编辑其中的数据。 问题是我在最后一列创建复选框的列后,我只是不能在jQuery上执行它的点击功能,因为我想。如果按下一个特定的复选框,则取消所有复选框

创建函数如下:

$("#meetingspanel td:last").each(function(event){ // Adding the checking column and showing the editing buttons  
     $("#btnDelete").fadeIn("slow"); 
     $("#btnRename").fadeIn("slow"); 
     $("<td style=border:0px><input type='checkbox' id='btncb'></td>").insertAfter($("td:nth-child(6)")); 
}); 

,并想,如果我是我用这里面的功能:

$(":checkbox").click(function(event){ 
    alert("im here !");     
}); 

,它只是没有发现,当我点击复选框。 帮助?

回答

1

如果我已经正确理解了您的问题,您需要绑定click事件,以允许它在原始绑定后添加到DOM的元素上触发,因为您要在脚本中插入复选框。

如果你正在使用jQuery 1.7+,使用on

$(someAncestor).on("click", ":checkbox", function() { 
    //Do stuff 
}); 

someAncestor需求是在DOM元素时,上面的代码执行是要触发复选框的祖先事件。从你的代码看起来,这很可能是table元素。

如果您使用的是旧版本的jQuery,请改为使用delegate方法。

这个工作的原因是DOM事件从它们通过DOM发起的元素冒泡。如果您将事件处理程序绑定到祖先,那么当事件到达该元素时,该处理程序将被执行。方法ondelegate提供了一种过滤这些事件的方法,以便它们仅在源自某个元素时才被触发。

+0

太棒了!它现在的作品,现在感谢你, – 2012-02-05 11:42:47

+0

没问题,很高兴我可以帮助:) – 2012-02-05 11:46:28

相关问题