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

我不确定下面的代码是否适用于 rails 2.3,但它适用于 rails 3

$("#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 回答