rails:1382
From: insight <insight.insight@g...>
Date: Fri, 21 Jul 2006 22:59:18 +0900
Subject: [rails:1382] text_field_with_auto_completeでのユーザー選択時イベント取得について
はじめまして。斎藤といいます。 まだまだrailsを使いはじめて間もないので勉強中ですが、早速、タイトルの通りの質問があり、 どなたか教えていただけないかと思い投稿しました。 質問なんですが、ある商品リストがあり、そのリストには1〜多数の使用ユーザがあり、 それぞれ商品リストテーブル、使用者テーブルの2つが1対多のリレーションを結んでいる とします。 AJAXの機能を使い、まずテキストフィールドで商品名(もしくは商品コード)をオートコンプ リートで入力補完させ、ユーザーがオートコンプリートで表示された一覧から選んだら、 テキストフィールドの下部に使用者の一覧が抽出され表示(これもAJAXで動的に表示) というようなアプリケーションを作ろうとしています。 そこで、まず商品名の補完入力にtext_field_with_auto_completeを使い、その更新時の フックとして、:after_update_elementを使用したらいいだろう、と思いました。 そこで、テスト用として以下のように入力しました。 <%= text_field_with_auto_complete("product","name",{}, :after_update_element=>"function(element,value){alert('selected!')}") %> 当方の意図としては、ユーザーがオートコンプリートによる一覧を選択した時に、 alertでボックスを表示する、という動作を意図しています。 しかし、上記のコードでは補完一覧は表示されるものの、それを選んでも何の反応も ありません。 本来は、上記テストがうまくいけば、 <%= text_field_with_auto_complete("product","name",{}, :after_update_element=>"function(element,value){"+remote_function( :url=>{:action=>:update_list},:update=>:lists,:with=>"'name='+element.value") +";}") %> のような感じでうまくアクションに渡せないかな、と考えています。 <%= observe_field "product_name", :update=>:lists,:url=>{:action=>:update_list} %> のようにしてもいいのかもしれませんが・・・後々、前述の方法が使えるほうが応用が 効かないかな、と考えて、なんとか前述の:after_update_elementを使った方法ができない か、どこで間違っているのか、どうか教えて下さい。 よろしくお願いします。 -- ML: rails@r... 使い方: http://QuickML.com/