0

Rails アプリケーションで .keyup メソッドを使用する検索機能があります。入力した最初の文字が検索され、結果が表示されているため、通話が機能していることがわかります。入力を続けると、メソッドの検索が続行されません。これが以下の私のjqueryであり、それが呼び出している私のレールビューの一部です。

JQuery

    $("input#search").keyup(function (){
    $.get($("#verified_search").attr("action"), $("#verified_search").serialize(), null, "script");
    return false;
});

index.js.erb

$(".results").html("<%= escape_javascript(render("search")) %>");

index.html.erb ビュー

 <%= form_tag admin_view_index_path, :method => 'get', :id => 'verified_search' do %>
            <%= text_field_tag :search, params[:search] %>
            <%= submit_tag "Search", :name => :nil %>
 <% end %>

 <%= render 'search' %>
4

2 に答える 2

0

使用する.live()

$("input#search").live('keyup', function (){
  $.get($("#verified_search").attr("action"), $("#verified_search").serialize(), null, "script");
  return false;
});

index.js.erbのコンテンツを置き換える$('.results')と、それらの要素に関連付けられているリスナーはすべてなくなります。

http://api.jquery.com/live/

編集: リンクにあるように、この.live()メソッドは jQuery 1.7 で廃止されました。.on()イベント ハンドラーをアタッチするために使用します。古いバージョンの jQuery のユーザーは、 よりも.delegate()優先して使用する必要があります.live()

于 2013-02-27T15:49:49.157 に答える