2012-03-01 28 views
1

私は、検索結果を絞り込むために使用される4つのチェックボックスグループを持つフォームを持っています。現在チェックされているチェックボックスのIDを含むチェックボックスグループごとに配列をポストできるようにしたい。ajax複数の入力グループを投稿

$.ajax({ 
    url: "/stay_in_belfast/accommodation", 
    type: "POST", 
    data: { 
    subcategory_ids:$(":checkbox[name^='subcategory_ids[']").serialize(),                         
    rating_ids:$(":checkbox[name^='rating_ids[']").serialize(), 
    location_ids:$(":checkbox[name^='location_ids[']").serialize(), 
    facility_ids:$(":checkbox[name^='facility_ids[']").serialize() 
    }, 
    success: function(data) { 
    } 
}); 

予想通り、私の配列は、4つの変数が含まれていても、データがどのように見える除いて、私は、これを投稿:私は4つのポスト変数のserializeArrayそれぞれが持つ名前ペアの配列を含んで使用している場合

subcategory_ids%5B%5D=22&subcategory_ids%5B%5D=23&subcategory_ids%5B%5D=24&subcategory_ids%5B%5D=26&subcategory_ids%5B%5D=27&subcategory_ids%5B%5D=28 

入力名と値。しかし、入力名は常にそのグループの入力のグループ名になりますので、実際の使用はありません。私はこれを試してみると、そのようなグループを送信するだけです。

$.ajax({ 
    url: "/stay_in_belfast/accommodation", 
    type: "POST", 
    data: $(":checkbox[name^='subcategory_ids[']").serialize(),                         
    success: function(data) { 
    } 
}); 

それはIDの配列として投稿を表示します。 1つのグループに投稿しても、4つのグループに投稿しても、それがどう違うのか分かりません。

私のポストでは、基本的にすべての4つの配列は入力グループで識別され、各配列にはIDのリストが含まれています。これが可能だと確信していますが、私はそれを見逃しています。

ありがとうございました。

+0

Iを:

url: "/foldername/file.php", 

を私は常に使用する必要がありますようあなたの問題の原因を知らないが、私はいくつか試してみることが考えられる: 1.呼び出しの外にデータオブジェクトを別々に作成し、それを渡す。 2.構造全体をシリアライズする個々の特性ではありません。 –

+0

'$(" form#some_form_id ")を試しましたか?serialize()'? –

+0

乾杯@サルマンA。フォーム全体をシリアライズして素晴らしい仕事をしました。ありがとう。 –

答えて

2

jQuery.serialize()機能を使用してフォーム全体の内容を送信して送信することができます。あなたはそのようなあなたのAJAXリクエスト内でエンコードされた文字列を使用することができます。

$.ajax({ 
    url: "/some-url", 
    type: "POST", 
    data: $("#some-form").serialize() // returns name-value pairs, encoded as form data 
}); 
0

はどういうわけか、彼らは問題を抱えているこの使用中:

url: "foldername/file.php",, 
関連する問題