【问题标题】:Rails 3 Submit Radio Button Form with Jquery Remotely (without using $.post)?Rails 3 使用 Jquery 远程提交单选按钮表单(不使用 $.post)?
【发布时间】:2012-06-23 16:54:39
【问题描述】:

我想知道是否有办法使用 jQuery 提交单选按钮表单。我遇到的问题是我正在将一个开始评级 jQuery 插件应用到一个 rails 表单,并且这个插件有它自己的点击回调。我想简单地告诉 rails 表单从这个回调中提交。

这是rails中的表格:

<%= form_for([@contact, @contact.overall_ratings.new],
                :remote => true, 
                :format => :js) do |f| %>
    <%-# TODO set these up in a loop %>
    <%= f.radio_button :rating, 1, {:class => "star"} %>
    <%= f.radio_button :rating, 2, {:class => "star"} %>
    <%= f.radio_button :rating, 3, {:class => "star"} %>
    <%= f.radio_button :rating, 4, {:class => "star"} %>
    <%= f.radio_button :rating, 5, {:class => "star"} %>

<% end %>

这是插件的调用,加上回调:

$(function(){ 

    $('input.star').rating({
            callback: function(value, link){
                //get parent form
                var form = $(this).parent();
                $(form).submit();

            }
    });

});

到目前为止,我遇到的问题是它正在重定向到 .js 文件。似乎它不遵守对 :remote => true 的表单调用,这并不让我感到惊讶,因为我是从插件回调中调用它的。

感谢您的帮助!

【问题讨论】:

    标签: javascript jquery ruby-on-rails ruby-on-rails-3


    【解决方案1】:

    怎么样

    $('input.star').click(function(){ $(this).parent().submit(); return true; });
    

    ? 这将在设置无线电输入的值后触发表单提交,因此无论如何它都会起作用。

    另外 - 你确定 jquery_ujs 是从 application.js 中正确引用的吗?因为看起来,这种形式没有被设置为远程。

    最后,IMO 这里不需要:format=&gt;:js,因为格式也取自标题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-10
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-24
      • 2023-03-29
      • 2016-07-14
      • 2013-02-23
      相关资源
      最近更新 更多