【问题标题】:Rails 3 Collection Select onchange SubmitRails 3 Collection 选择 onchange 提交
【发布时间】:2012-02-20 23:33:38
【问题描述】:

当 Collection Select 的值发生变化时,我正在尝试提交远程表单。我试过了:

"<%= form_tag ( { :controller => :images, :action => :index, :method => "post" }) do %>"

"<%= collection_select(:admin_image, :category_id, Admin::Category.all, :id, :name, {:onchange => remote_function(:url => {:controller => "/admin/admin_home", :action => "index"}, :with => "'category_id='+value")}) %>"

"<% end %>"

但我知道 remote_function 不再在 rails 3 中。所以我也尝试过:

{:onchange => "submit();"

但是什么也没发生。

【问题讨论】:

    标签: ruby-on-rails-3 select submit onchange


    【解决方案1】:

    您需要为此使用 Javacsript。如果您使用 jQuery,这很简单。您需要监听“更改”事件并在它触发时提交表单。我使用这个通用函数,然后使用“submit_on_change”类标记我想在更改时自动提交的表单:

    $("form.submit_on_change").each(function(idx,form){
      $(form).find("select,input").each(function(idx,element){
        $(element).change(function(){
          $(form).submit();
          return false;
        });
      });
    });
    

    确保在 dom 加载后运行它,例如在文档准备好时。

    【讨论】:

      【解决方案2】:

      在网上搜索后,我找到了更好的解决方案。希望对您有所帮助....

      "/admin/images", :action => "index" }) 做 %> “提交();” %>

      【讨论】:

      • 能否请您扩展此答案,并重新格式化代码?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多