1

rails3-jquery-autocomplete gem を使用して、データベースからオートコンプリート項目を取得し、フォームに事前入力するために必要な追加データを取得しています。

autocomplete :link, :name, :extra_data => [:url, :is_full_screen, :is_auto_trigger, :is_ad, :is_ecommerce]

URL 以外はすべてブール値フラグ (ユーザー設定) であり、フォームでチェックボックスをオン/オフしたり、ラジオ ボタンを選択したりするために使用されます。gem はテキスト フィールドを更新しますが、チェックボックスとラジオ ボタンは自動的に更新しません。フォーム ビューで :update_elements を既に指定しています。

<%= f.autocomplete_field :name, autocomplete_link_path, :update_elements => {:url => '#link_url', :is_auto_trigger => '#link_is_auto_trigger'}

どうすればいいですか?カスタムjsを実行してチェックボックスとラジオボタンを選択するために、オプションが選択されたときに発生するrailsAutocomplete.select javascriptイベントを調べてみましたが、そのイベントリスナーで(SQLクエリから)データを取得するにはどうすればよいですか? これを行うためのより簡単な方法はありますか?

4

1 に答える 1

0

カスタム JavaScript を実行して、オートコンプリート オプションの 1 つを選択する際にチェックボックス/ラジオを更新することで、これを解決しました。railsAutocomplete.selectオートコンプリート ドロップダウンから値が選択されると、入力フィールドでという名前の JavaScript イベントが発生します。data.item には、データベースから取得したすべてのデータ (余分なデータを含む) が含まれています。

    $('#link_name').bind('railsAutocomplete.select', function(event, data){
      // Custom JS to select radio/checkbox, or do any other complex task
      select_linktype(data.item.linktype);
      select_tracking(data.item.is_ad);
    });
于 2012-11-23T14:14:09.960 に答える