2011-05-24 60 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