0

ユーザーが特定のオプションを選択できるドロップダウンがあります。その後、処理のために php スクリプトを呼び出します。私が抱えている問題は、オプションを 1 つだけ選択するとすべて正常に機能するのに、複数のオプションを選択すると機能しないことです。

HTML:

<select name="select[]" id="the_select">
<option></option>
</select>

JS:

var form_data = {
    select : $("#the_select").val()
};

私のphpスクリプトは配列を期待していますが、どうすればこれを達成できますか? javascript の select 要素をループして、送信する配列を作成する必要がありますか?

4

3 に答える 3

1

メソッドを使用serialize()してフォーム全体を 1 つの関数でシリアル化し、jQuery に配列管理とエンコーディング変数の重い処理を行わせます。

var ajaxData=$('#myForm').serialize()
$.post( url, ajaxData, function(){
  /* ajax success code*/

})

API リファレンス: http://api.jquery.com/serialize/

于 2012-10-20T21:22:58.130 に答える
0

各要素には一意のid=""がありますか?そうでない場合は、これが機能していない理由である可能性があります。または、クラスが一意である必要がないため、class="the_select"を使用することもできます。jQueryは次のように変更する必要があります。

var form_data = {
    select : $(".the_select").val()
};
于 2012-10-20T21:13:27.007 に答える
0

複数選択が必要な場合は、必ず multiple 属性を含めてください。

<select name="select[]" id="the_select" multiple>
<option></option>
</select>

複数の選択を使用していて、それらのすべての値を取得しようとしている場合は、次のようにそれぞれを個別に選択する必要があります。

$('select[name="select[]"]').each(function(){
// Do Something with the value here
$(this).val()
});
于 2012-10-20T21:16:15.403 に答える