2011-12-28 11 views
0

私の要件は、自分のテキストボックスに自分のテキストボックスに自動完成を実装することです。 jquery auto completeプラグインをダウンロードしました。実装方法を教えてください。jquery auto complete plugin、json

私のコントローラコード:

def new 
@release = Release.new 
@ic_ids = params[:ic_ids] ? params[:ic_ids] : [] 
**@testers = User.find_by_sql("select * from users where id in(select user_id from user_role_assignments where role_id in (select id from roles where name like 'Tester')) order by name").paginate(:page=>params[:page],:per_page=>30)** 
if params[:project_id] 
    @release.project = Project.find(params[:project_id]) 
end 
respond_to do |format| 
    format.html # new.html.erb 
    format.xml { render :xml => @release } 
end 
end 

私は@testersための完全自動作成します。

マイビューコード:

%td.grid.full_panels 
    -table_panel "Assign Testers" do 
     %table 
     %th Name 
     -puts "testers=#{@testers}" 
     = form.label :tester_tokens, "Testers" 
     **= form.text_field :tester_tokens**  

おかげで、 ラムヤ。

+0

それを実装しようとしました..! –

+0

はいのSudhir私は私のビューファイルを次のように変更してみました:javascriptの データ= #{@testers.to_json} \t = javascript_include_tag:デフォルト、:キャッシュ=> 真と私application.jsで$(ドキュメント)。準備完了(機能(){ $( '#root_name')。オートコンプリート(データ); \t}); しかし、私はデータが渡されているのを見ていません。 – ramya

答えて

1

オートコンプリートを実装すると、実際にアプローチする方法は2つあります。

  1. 事前にすべてのデータを取り込みます。各「のkeydown/keyUpイベント」または最初の方法については

「のonchange」上のサーバへ

  • 送信AJAX要求は、jsonSuggest 呼ば本当にクールなjQueryプラグインがありますし、それが実装するのはとても簡単です。 あなたがそうのように(ID、テキスト)ペアでJSONオブジェクトが必要になります。これもオブジェクトの数千人のために合うことができる

    $("#myInput").jsonSuggest({ data : myData , onSelect: function(item){ /* callback code */} })

    var myData = [{ id : "someId" , text : "someText"} , ... ]

    、その後、次のコードを呼び出します。これは、複数のajaxがサーバーに呼び出すより優れたパフォーマンスを提供します。 あなたはかなりのjquery-UIプラグインを使用する場合は、他の方法(複数のAjaxリクエストが)非常に似ていますが、私はjsonsuggestがそれをサポートしていることはないと思うthe default example

    を見てみましょう。これはjquery-uiプラグインでサポートされています。 このケースでは、あなたは見てくださいthe remote example

  • 関連する問題