次の場合にフォームを送信:jQueryを使用して選択

私は私のRails 3アプリで検索フォームを持っています。検索のほとんどは、チェックボックスのチェック/チェックが外されているときに行われますが、選択したドロップダウンで検索を行ったり、2つの検索を実行したりします。私は非常に基本的なjQueryを使用してチェックボックス付きのフォームを送信しています。私は選択されたセレクタにも適合させようとしました。しかし、それは動作していません。問題のトラブルシューティングでは、私のjQueryが原因であるかどうか疑問に思っています。

ここに私のjQueryがあります:

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

I'm using Ransack for the search form. Here's the <%= f.select %> I'm using for the actual form:

<%= 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]]) %>
0
基本的には、オプションを選択したときに、その選択で検索フォームを送信して、フォームが適切なユーザーを表示するようにします。
追加された 著者 tvalent2,
あなたの意図は何ですか?私は:selected は本当にあなたが望むものではないと思っていますが、あなたがしようとしていることは何か分かりません。
追加された 著者 James Montagne,

2 答え

あなたのコメントに基づいて。 クリックの代わりに change を使用すると思います。これにより、値が変更されるたびにコードが実行されます。

$(function(){
    $('select').live('change',function() {
        $(this).closest('form').submit();
    });
});
1
追加された

私は:selected を使うのはうまくいかないと思います。コードが実行されるとき、ユーザーはselect要素で何も選択していないはずなので、イベントハンドラはアタッチされません。

$( "select")または要素のIDまたは名前を使用して、イベントハンドラをアタッチしてみてください。イベントハンドラの内部では、要素が選択されているかどうかを確認し、フォームを送信できます。

1
追加された