在我的Rails3应用程序中,我有包含行的表,每个包含linkig以及:remote =>真
...
<tr><td><%= link_to "remote call", action_controller_path(data), :remote => true %>
...
作为对ajax调用的响应,我返回javascript以在浏览器中执行:
# action.js.erb
console.log(this); <-- "this" is browser's window object not my element
$(this).closest("tr")....
问题是,在我的javascript中我需要访问元素,它触发了ajax调用(<a>
标记)。有什么方法可以访问它吗?
答案 0 :(得分:0)
我找到了类似问题的答案here。
我的解决方案是在我的情况下将预提交类绑定到元素 一个弹出模式窗口。这是与帖子链接的类似解决方案 以上是因为它使用预提交绑定,但是可以使用 而是改为。
在public / javascripts / application.rb中:
jQuery(function($) { $(".poppable").bind("ajax:loading", function() { $(this).addClass("popped"); }); });
然后在我看来弹出内容(例如 应用程序/视图/为MyModel / popup.js.erb):
var p = $(".poppable.popped"); p.removeClass("popped"); /* Do what I need to with p ... */
如果这看起来不是犹太人,我会全力以赴,但它现在有效。