1

我想知道是否有办法用 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 的表单调用,这并不让我感到惊讶,因为我是从插件回调中调用它的。

谢谢您的帮助!

4

1 回答 1

0

关于什么

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

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

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

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

于 2012-06-23T08:54:39.437 回答