web-dev-qa-db-ja.com

jqueryのシリアル化と複数選択のドロップダウン

私はjqueryserialize()関数を使用してフォームの値をシリアル化し、ajax経由で送信しています

例えばのようにフォーム名とIDがfactoryUsersの場合

var data=$("#factoryUsers").serialize();

これで、テキストフィールド、テキスト領域、単純なドロップダウンなどがあるフォームで正常に機能します。ただし、複数のドロップダウンがある場合は、たとえば、問題が発生します。タイプのドロップダウンがある場合

<select size="5" id="factoryUsers" name="factoryUsers" multiple="multiple">

シリアル化は正しく機能しなくなりました。したがって、3人のユーザーを選択すると、次のようなクエリ文字列が表示されます。

factoryUsers=5&factoryUsers=23&factoryUsers=11

選択を配列タイプに変更しても、どちらも役に立ちませんfactoryUsers[]

これを正しく機能させる方法についてのアイデアや助けは素晴らしいでしょう。

19
Amitabh

PHP関数を使用できます

parse_str($_POST)

この関数は抽出関数のようです。これを実行した後、$factoryUsersという名前の変数にアクセスできます。この変数は配列$factoryUsers[n]です。

1
leocoder