serializeArray()

jQuery API の serializeArray() は、フォーム要素のセットを、シリアライズするメソッド。フォーム要素のセットを、名前(name)と値(value)の配列としてエンコードする。

記述方法

jQuery( セレクター ) . serializeArray();

セレクターのセットを、シリアライズする。

記述例

jQuery( 'form' ) . serializeArray();

form要素のセットを、シリアライズする。

シリアライズ例

名前(name)と値(value)の配列としてエンコードする。

[
    {
        name: "name1",
        value: "value1"
    },
    {
        name: "name2",
        value: "value2"
    }
]

実装例(サンプル)

jquerySmapleInput1:

jquerySmapleInput2:

Checkbox:

実装例(サンプル)の動作について

「シリアライズ」ボタンをクリックすると、フォーム要素のセットをシリアライズ、名前(name)と値(value)の配列としてエンコードする。配列から名前(name)と値(value)を取り出し、黄色のボックス要素内に表示する。

実装例(サンプル)のソースコード

JavaScript

<script>
<!--
jQuery( function() {
    jQuery( '#jquery-sample-button' ) . click(
        function() {
            jQuery( '#jquery-sample-serializeArray' ) . html( '' );
            array = new Array()
            array = jQuery( '#jquery-sample form' ) . serializeArray();
            jQuery . each( array, function( index, elements ){
                jQuery( '#jquery-sample-serializeArray' ) . append( '<p>' + elements . name + ':' + elements . value + '</p>' );
            } );
        }
    );
} );
// -->
</script>

CSS

<style type="text/css">
<!--
#jquery-sample {
    margin: 10px;
    padding: 10px;
    background-color: #f0f0f0;
    border: 1px solid gray;
    border-radius: 10px;
}
#jquery-sample label {
    margin: 5px;
    font-size: 15px;
    color: #303030;
    cursor: pointer;
}
#jquery-sample-serializeArray {
    margin: 10px;
    padding: 10px;
    height: 120px;
    background-color: yellow;
    border: 1px solid gray;
    border-radius: 10px;
}
-->
</style>

HTML

<div id="jquery-sample">
    <form>
        <p>
            jquerySmapleInput1:<input type="text" name="jquerySmapleInput1" value="input1" />
        </p>
        <p>
            jquerySmapleInput2:<input type="text" name="jquerySmapleInput2" value="インプット2" />
        </p>
        <p>
            Checkbox:
            <label>
                <input type="checkbox" name="jquerySmapleCheckbox1" checked="checked" />
                jquerySmapleCheckbox1
            </label>
            <label>
                <input type="checkbox" name="jquerySmapleCheckbox2" />
                jquerySmapleCheckbox2
            </label>
        </p>
    </form>
    <p>
        <button id="jquery-sample-button">シリアライズ</button>
    </p>
    <div id="jquery-sample-serializeArray"></div>
</div>

スポンサード リンク

カテゴリー: Ajax, API, JavaScript, jQuery, フォーム, ヘルパー関数 タグ: パーマリンク