2011-10-21 92 views
1

我試圖根據上一個下拉列表中的選擇自動填充下拉列表框。我在網上看到一個例子,它在控制器中使用replace_html。我的應用程序的其餘部分基於jquery.Could你請讓我知道如何用jQuery實現它。原型方法的jquery方法

我的控制器代碼:

def update_releases 
    puts "inside func" 
    project = Project.find(params[:project_id]) 
    @releases = project.releases 
    render :update do |page| 
    page.replace 'releases' 
    page.replace_html 'cycles', :partial => 'cycles', :object => cycles 
    end 
end 

回答

4

您可以編寫內聯jQuery代碼,像這樣:

def update_releases 
    puts "inside func" 
    project = Project.find(params[:project_id]) 
    @releases = project.releases 
    render :update do |page| 
    page << "$('#cycles').html(\"<%= escape_javascript(render :partial => 'cycles', :object => cycles) %>\");" 
    end 
end 

更好的是使用js.erb文件(假設你正在使用Rails3中):

def update_releases 
    project = Project.find(params[:project_id]) 
    @releases = project.releases 
    respond_to do |format| 
    format.js 
    end 
end 

,並創建一個update_releases.js.erb模板:

$('#cycles').html("<%= escape_javascript(render :partial => 'cycles', :object => @cycles) %>") 
+0

嗨Shm,非常感謝answwer。 update_releases.js.erb文件應放置在views目錄或控制器的目錄中。 – ramya

+0

將其放置在視圖目錄中。 (與控制器的index.html.erb文件相同的文件夾) – notyce

+0

嗨,非常感謝。它工作完美。我一直在努力爭取這項工作超過一週。感謝一噸。如果我得到oppurtunity投票你回答無限我會。 – ramya