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

提交表单时间:使用jQuery选择,jquery,ruby-on-rails-3,search,Jquery,Ruby On Rails 3,Search,我在Rails 3应用程序中有一个搜索表单。大多数搜索都是在选中/取消选中复选框的情况下进行的,但是我有一两个搜索希望使用“选择”下拉列表执行。我使用非常基本的jQuery来提交带有复选框的表单,并尝试将其调整为:selected选择器。但是它不起作用。在故障排除过程中,我想知道我的jQuery是否是原因 以下是我的jQuery: $(function(){ $(':selected').live('click',function() { $(this).closest(

我在Rails 3应用程序中有一个搜索表单。大多数搜索都是在选中/取消选中复选框的情况下进行的,但是我有一两个搜索希望使用“选择”下拉列表执行。我使用非常基本的jQuery来提交带有复选框的表单,并尝试将其调整为:selected选择器。但是它不起作用。在故障排除过程中,我想知道我的jQuery是否是原因

以下是我的jQuery:

$(function(){
    $(':selected').live('click',function() {
        $(this).closest('form').submit();
    });
});
我正在使用搜索表单。以下是我用于实际表单的

<%= 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]]) %>

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


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

。我想您应该使用
更改
而不是
单击
。这样,只要值发生更改,代码就会执行

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

你来这里的目的是什么?我认为
:所选的
不是您真正想要的,但我不确定您正在尝试做什么。基本上,当我选择一个选项时,我希望该选项提交搜索表单,以便表单呈现适当的用户。