2011-05-24 56 views
1

下面的代碼呈現* .js.erb文件,並在顯示按鈕上點擊時更新顯示div。但它不會渲染下拉菜單的* .js.erb文件,它只會呈現* .html.erb。 有什麼想法?Ajax for Rails 3:onchange

<%= form_tag monitors_path, :id => 'monitor',:method => :get, :remote => true do %> 
    <%= collection_select(:monitor, :job_id, Job.all, :id, :name, options ={:prompt => "Select a Run"}, {:onchange => "$('monitor').submit()"}) %> 
    <%= submit_tag 'Display' %> 
<% end %> 
<div id="display"></div> 

感謝, 沃爾坎

+0

是什麼控制器動作的代碼看起來像最好的解決辦法? – 2011-05-24 23:38:06

回答

0

這個工作,但不知道它是軌道3

{:onchange => remote_function(:method => :get, :url => {:action => 'index'}, :with => 'Form.Element.serialize(this)')} 
-1

編輯:this article

變化$('monitor').submit()$(this).parents('form:first').submit();

用盡想法。 :)


2日(壞的)答案:

編輯:其實,應該不是很$('#monitor'),而不是$('monitor')


上一頁(壞的)答案:

試試這個:在{:onchange => "$('monitor').submit()"}submit()之後添加; return false

+0

不幸的是沒有做到這一點。 – Volkan 2011-05-24 23:51:34

+0

我只是在這裏拉屎;我目前沒有一個測試環境來試用它。只是試圖拿出解決方案,如果沒有好東西出來,抱歉。 – 2011-05-24 23:55:08

+0

謝謝,我很感激。不,它是$('monitor')。提交按鈕提交ajax調用但不提交onchange提交:\ – Volkan 2011-05-24 23:59:46