0

select2Rails アプリケーションのドロップダウン メニューにプラグインを使用しています。ただし、サーバー select2 への JS 呼び出しを使用してフォームをレンダリングしている場合、入力には適用されません。

ここに、私が何を意味するかを説明する js.erb ファイルがあります

$("#container").html("<%= j render partial: 'form' %>");
$(".select-list").select2()

私はコンテキストを設定しようとしました:

$(".select-list", document).select2()

しかし、それもうまくいきません。サーバーが JS 呼び出しに応答した後、入力に select2 を適用するにはどうすればよいですか?

4

1 に答える 1

2

のコンテンツを置き換えているため、メソッド ( http://api.jquery.com/on/ ) を使用して、またはその他のイベント#containerをバインドする必要があります。 select2jQuery on

したがって、次のことを行うと問題が解決するはずです。

あなたのjs.erb

$("#container").html("<%= j render partial: 'form' %>").trigger('show');

次に、が に含まれてassets/javascripts/somefile.js.erbいる限り、または の下部に以下を配置することもできます。somefile.js.erbapplication.jsapplication.js

$('#container').on('show', function() {
    $('.select-list').select2();
});
于 2013-07-17T10:39:05.580 に答える