更新html时jQuery更改事件丢失

更新html时jQuery更改事件丢失,jquery,javascript-events,ruby-on-rails-3.2,Jquery,Javascript Events,Ruby On Rails 3.2,我有一个Rails应用程序,它有一个显示的组织领导表,每个表都有一对单选按钮,用于指示他们是“活动”还是“已退休”。当按下按钮时,Ajax用于将状态保存到数据库中,并显示一条成功消息(或失败消息),然后随着编程的进行逐渐消失。但是,尽管任何引线上的第一个按钮更改似乎都有效,但不会检测到每个引线上的后续更改事件。我发现有好几篇文章都有类似的问题,但这些文章中的解决方案似乎都不可靠。我一定错过了什么 顶层视图包含下面的一行,该行标识特定引线的表格单元格的id,并从局部视图呈现单元格 <td i

我有一个Rails应用程序,它有一个显示的组织领导表,每个表都有一对单选按钮,用于指示他们是“活动”还是“已退休”。当按下按钮时,Ajax用于将状态保存到数据库中,并显示一条成功消息(或失败消息),然后随着编程的进行逐渐消失。但是,尽管任何引线上的第一个按钮更改似乎都有效,但不会检测到每个引线上的后续更改事件。我发现有好几篇文章都有类似的问题,但这些文章中的解决方案似乎都不可靠。我一定错过了什么

顶层视图包含下面的一行,该行标识特定引线的表格单元格的
id
,并从局部视图呈现单元格

<td id="status_<%= leader.id %>_cell"><%= render(:partial =>
  "connections/edit/leader_status", :locals => {
  :leader => leader, :display_response => "" } ) %>
</td>
toggle_leader_status
中响应重新呈现状态单元格的控制器代码为:

render(:partial => "connections/edit/leader_status", :locals => {
  :leader => @entity.leader,
  :display_response => 
    "<div id='#{id}' class='#{klass}'>#{message}</div>" + 
    "<script type='text/javascript'>$('##{id}').fadeOut(#{duration})</script>"
})

每次都会发出警报。对于问题代码,更新表格单元格会阻止后续更改事件的发生。如果我改变:

$(".leader_status").change(function(){


这样做效果更好,但仍然只有90%的时间。如果我改用上的
,它可能会在10%的时间内工作。有什么建议吗?

将事件绑定到元素的某个父级,该父级不会更改

像这样:

$('table').on('change', '.leader_status', function(){

});

将事件绑定到不更改的元素父级之一

像这样:

$('table').on('change', '.leader_status', function(){

});

你试过
.on()
handler了吗如果你读了文章的最后一行,你会看到我试过了,但没用。你试过
.on()
handler了吗如果你读了文章的最后一行,你会看到我试过,但没用。谢谢,效果很好!我不熟悉jQuery。我以前曾尝试以某种方式连接到元素的父元素,但由于没有工作,所以出现了错误。谢谢,工作非常好!我不熟悉jQuery。我以前曾尝试以某种方式连接到元素的父元素,但由于不起作用而出错。
alert("An Event! " + data); 
$(".leader_status").change(function(){
 $(".leader_status").live('change', function(){
$('table').on('change', '.leader_status', function(){

});