2011-08-02 9 views
1

私のレールアプリでは、私はフォーム内で選択フィールドを持っています。フィールドが変更されたら、フォームを送信し、結果をリモートから取得します。JQueryは変更時に選択フィールドを送信し、ajaxの結果は

はここに私の現在のコードです(EDIT - この部分は動作しますが、私はそれにさらに追加しようとしています):

私はハイパーリンクについては、以下を持っているアプリの別の部分で
$(function() { 
    $("#statusFilter").live("change", function() { 
    this.submit(); 
    }); 
}); 

、クリックすると、リモートでリンクが返されます。だから私は上記のフォームに同じ効果が欲しいです。ここ

$(function() { 
    $("#posts_container th a").live("click", function() { 
    $.getScript(this.href); 
    return false; 
    }); 
}); 

が、それは私がリモートでposts_containerで生活をリフレッシュしようとしている検索フォーム

$("#dash_search input").keyup(function() { 
    $.get($("#dash_search").attr("action"), $("#dash_search").serialize(), null, "script"); 
    return false; 
    }); 

コンテンツをどのように機能するかの別の例である

答えて

1

この

$(function() { 
    $("#statusFilter").live("change", function() { 
    //$(this).closest("form").submit(); 
    var $form = $(this).closest("form"); 
    $.post({ 
     url: $form.action, 
     data: $form.serialize(), 
     success: function(){ //Write code here to handle on success } 
    }); 
}); 
をお試しください
+0

すぐに回答していただきありがとうございます。私はこれが最も近いフォームを提出することを理解していますが、それはajaxで結果を得るでしょうか? – Elliot

+0

いいえ、ajax呼び出しを行うコードを記述する必要があります。これはすぐに含まれているフォームを提出します。 – ShankarSangoli

+0

それは本当に私のポストの質問に対処していません – Elliot

4

私は個人的に、このインスタンスの選択フィールドの周りのフォームを使用しません。他のフォーム要素を格納するためのorm

あなたは次のことを達成しようとしているように見える言ったことから:

  1. 、ユーザが選択フィールドを変更します。
  2. 次に、selectフィールドの新しい値を使用してposts_containerフィールドが更新されます。

私はこの正しいを持っている場合は、私は次のコードになります

選択フィールド

<div> 
    <select id="statusFilter"> 
     <option value="1">Option 1</option> 
     <!-- Other options... --> 
    </select> 
</div> 

JavaScriptを

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#statusFilter").change(function() { 
      // Possibly show an ajax loading image $("#ajax_loading").show(); 
      $("#posts_container").load("somepage.php", { value: $(this).val() }, function() { 
       // Do something to say the data has loaded sucessfully 
       // Possibly hide the ajax loading image $("#ajax_loading").hide(); 
      }); 
     }); 
    }); 
</script> 

ことができます場合、私は知りませんまたは右の行にありますが、 dもしそうでなければ私は試して助けます。

関連する問題