2014-01-28 29 views
0

我想使用JQuery在Rails 4中查找select_tag的值。一旦我有了值,我想用包含單選按鈕的部分更新視圖。如何使用Rails 4使用JQuery查找select_tag的值4

我的代碼無法正常工作。你能讓我知道我做錯了什麼嗎?

index.html.erb文件

<%= form_tag experts_path, method: :get do %> 
    <p> 
     <%= text_field_tag :query, params[:query] %> 
    <hr> 

    <h3>Skills Categories</h3> 
     <%= select_tag "skill_categories", options_from_collection_for_select(@skill_categories, "id", "category"), prompt: "All Skills" %> 

    <div class="skills"></div> 
<% end %> 

<script> 
$("#skill_categories").change(function() { 
    var category_from_select = $(".skills").find(":selected").text(); 
    $(".skills").replaceWith("<div class='skills'><%=j render 'experts/skills', selected_category: category_from_select %></div>"); 
}); 
</script> 

_skills/html.erb局部

<h4>Skills</h4> 
<% skill_all.each do |skill| %> 
    <%= radio_button_tag "skills[]", "#{skill.name}", 
         ((params[:skills] != nil) && (params[:skills].index(skill.name) != nil) ? true : false) %> 
    <%= skill.name %> 
<% end %> 

experts_controller.erb

def skills_search 
    @skills = Skill.all 
    end 

experts_helper.erb

module ExpertsHelper 

    def skill_all 
    @skills = Skill.all 
    end 
end 

回答

0

嘗試改變:

var category_from_select = $(".skills").find(":selected").text(); 

到:

var category_from_select = $(this).find(":selected").text(); 

若要選擇的選項,你需要select元素與#skill_categoriesdiv.skills

+0

謝謝。我試過這個,並得到以下錯誤。 – miggitty

+0

謝謝@Felix。我試過這個,得到了以下錯誤:未定義的局部變量或方法'category_from_select'爲#<#:0x000001022fb888> – miggitty

+0

@miggitty你確定你不需要在這裏用'+'連接:'selected_category :category_from_select'因爲'category_from_select'是一個變量? – Felix