Jquery 如何将onclick处理程序与复选框关联是通过ajax php实现的

Jquery 如何将onclick处理程序与复选框关联是通过ajax php实现的,jquery,ajax,Jquery,Ajax,您好,我从ajax请求中检索了一个表,在该表中我有一个复选框,我想在jquery中获取它的onClick函数。请帮助。您可以使用事件进行此操作。为动态生成的复选框分配一个类,并使用以下代码 $("#yourtableid input:checkbox.checkboxclass").live("click", function(){ // to get the parent row var row = $(this).closest("tr"); // to preven

您好,我从ajax请求中检索了一个表,在该表中我有一个复选框,我想在jquery中获取它的onClick函数。请帮助。

您可以使用事件进行此操作。为动态生成的复选框分配一个类,并使用以下代码

$("#yourtableid input:checkbox.checkboxclass").live("click", function(){
    // to get the parent row
    var row = $(this).closest("tr");
    // to prevent event bubbling
    return false;
});
有两种方法: 一个是如上所述使用.live() 或者可以将.click()事件绑定到ajax调用后的复选框中,例如

$.post('url/path', function(response) {
  $('.checkboxes').click( function() {
    //do stuff here
  });
});

.live()方法很简单,但它有一些限制,即事件冒泡限制,即它拒绝正常传播事件。

我建议您使用该函数,优点是它减少了向每个复选框添加一个
单击
处理程序的重量,并且在动态创建或不创建新行时不受影响,而是将其添加到整个表中,当您单击它时,它会发现您单击了哪个复选框,例如,您只需要有一个空表

<table id="my_table">
</table>

这是通过ajax访问所有这些字段的标准方法吗?如果是,那么非常感谢你解决了我的问题。如果还有更多内容,请添加。
.live()
将向所有动态生成的元素附加事件处理程序。您能否帮助我思考如何将通过ajax提交的整行输入字段与该复选框关联,以便在使用.live()单击该复选框时方法它授予整行??您更新的代码没有给出错误,也没有给出var行中返回的任何有效内容?事件冒泡仍然无法控制当我点击第二个复选框时,它的行为仍然很奇怪。它会自动勾选或勾选另一个复选框。我正在按照你提到的方式进行操作,但问题是第一个复选框在我勾选选项卡上的任何其他复选框时,它总是被勾选或取消勾选。你可以吗张贴一个你正在做的事情的例子?或者更详细地解释你想要实现的目标?另外,请发布您在上面尝试过的确切代码。阅读amosrivera的答案后,他是正确的,委托可能是这里最好的选择,或者执行类似$('.checkbox',$('.checkbox_container')[0])。live(function(){..do stuff});这相当于委托,但委托更干净
$("#my_table").delegate('checkbox',function(){
    $(this)
       .closest("tr")
       .css({background:"red"}); //example purposes, not necessary
});