1

選択(ドロップダウン)検索の方法。3つの選択があり、ユーザーがドロップダウンを選択すると、結果divがリロードされて被験者の結果が表示されます。

Senario:

     select year | select semester | select course

    <div id="result">
     list of subjects base on the 3 selections
    </div>
4

2 に答える 2

2

以下のコードがRails2.3で機能するかどうかはわかりませんが、Rails3では機能します。

$("#third_select_box_id").change ->
  first_select_box_data = $("#first_select_box_id").val()
  second_select_box_data = $("#second_select_box_id").val()
  third_select_box_data = $("#third_select_box_id").val()
  #add code to check that the first n second dropdown list have some data that has been    selected
  if (the data has been selected in all dropdown lists then )
    $.ajax
      type: "GET"
      data: "year="+first_select_box_data+"&semester="+second_select_box_data+"&course="+third_select_box_data
      url:"/courses/get_results"

年または学期が選択されていなくてもデータを表示したい場合は、上記のコーヒースクリプトのチェックインを行わないでください。ルートで

resources: courses do
  get 'get_results'
end

コースコントローラーで

def get_results
  @results = #ur logic to collect all results based on received params. Handle the condition that year or semester isnt selected(if u want to)
  respond_to do |format|
    format.js{}
  end
end

get_results.js.hamlで

$("#result").html("#{escape_javascript(render :partial => 'results')}")

_results.html.hamlで

#ur logic to display the @results

パフォーマンスが向上するため、リストにデータテーブルを使用することを検討してください。

于 2012-09-05T06:02:18.130 に答える
0

ajaxを送信し、検索結果を収集します。search.js.hamlで、div'result'を検索結果を一覧表示するパーシャルに置き換えます。

于 2012-09-04T12:29:37.653 に答える