在以下时间提交表单:使用jQuery选择

时间:2011-11-25 01:01:26

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

我的Rails 3应用程序中有一个搜索表单。大多数搜索都是在选中/取消选中复选框时发生的,但是我有一个或两个我想用选择下拉列表执行的搜索。我正在使用非常基本的jQuery来提交带有复选框的表单,我也尝试将它调整到:选择的选择器。然而,它不起作用。在解决问题时,我想知道我的jQuery是否是原因。

这是我的jQuery:

$(function(){
    $(':selected').live('click',function() {
        $(this).closest('form').submit();
    });
});

我正在使用Ransack作为搜索表单。这是我用于实际形式的<%= f.select %>

<%= f.select :profile_subject, options_for_select([['Select', 0], ['Arts', 1], ['Biology', 2], ['Business', 3], ['Chemistry', 4], ['English', 5], ['Foreign Language', 6], ['Government', 7], ['Health', 8], ['History', 9], ['Math', 10], ['Physics', 11], ['Vocational', 12]]) %>

2 个答案:

答案 0 :(得分:1)

我不认为使用:selected会起作用。代码运行时,用户不应该在select元素中选择任何内容,因此不会附加事件处理程序。

尝试使用$("select")或元素的id或名称来附加事件处理程序。在事件处理程序中,您可以检查元素是否已被选中,然后提交表单。

答案 1 :(得分:1)

根据您的评论。我想您要使用change而不是click。这样,只要值发生变化,代码就会执行。

$(function(){
    $('select').live('change',function() {
        $(this).closest('form').submit();
    });
});