0

show.js.erbと言うビューがあります。そして、私は別のビューに次のようなリンクがあります

link_to "MyLink", my_object_path, :remote => true

show.js.erbビューを正常に返します。私の質問は、その観点から、個々の要素に固有のIDを生成することに頼ることなく、AJAX呼び出しをトリガーした要素にアクセスする方法はありますか...

このビューコールバックを使用して、クリックされた要素の横にある小さなダイアログを開くことができるようにしたいのですが、トリガー要素にアクセスする方法が見つからないようです。

$(this)を使ってみましたが、うまくいきません。

私はの線に沿って何かをしたいです

$(this).after("some new html here");
4

1 に答える 1

3

私の解決策は、pre-submitクラスを要素(私の場合はポップアップモーダルウィンドウ)にバインドすることでした。これは、送信前のバインディングを使用するという点で上記にリンクされた投稿と同様のソリューションですが、代わりにクラスを使用するように調整されています。

public / javascripts / application.rb:

jQuery(function($) { 
  $(".poppable").bind("ajax:loading", function() { $(this).addClass("popped"); });
});

次に、ポップアップコンテンツの私のビュー(例:app / views / mymodel / popup.js.erb):

var p = $(".poppable.popped");
p.removeClass("popped");
/* Do what I need to with p ... */

これがコーシャに見えない場合、私はすべての耳ですが、今のところは機能します。

于 2011-01-28T02:29:44.090 に答える