2011-01-20 6 views
2

jquery。serializeArray()を使用して<form>にある<input>をすべて取得しています。 は、私はJSONオブジェクトのうち、私が欲しいデータを見つけるにはどうすればよいのjQueryに.data()JQuery。serializeArray()Jsonオブジェクトでアクセスデータを取得する方法

.serializeArray()から出てくるJSONオブジェクトを入れていますか?

Jquery getJson()にはURLが必要ですが、すでにJsonオブジェクトがあります。

+0

コードの外観はどうですか? – Lance

答えて

2

serializeArray()(docs)メソッドはJSONデータを作成しません。オブジェクトの配列を作成します。オブジェクトの配列はそれぞれnamevalueのプロパティを持ちます。

データをどのように取得するかは、必要なものによって異なります。特定のアイテムに直接アクセスするには、他の配列やオブジェクトと同じようにアクセスします。

myData[1].value; 

これは、配列の2番目の項目のvalueを取得します。

あなたがそれらを反復するために必要な場合は、あなたがjQuery.each()(docs)

$.each(myData, function() { 
    var name = this.name; // the name property in the current iteration 
    var value = this.value; // the value property in the current iteration 

    console.log(name, value); 
}); 
0

jQuery.serializeArrayを(使用することができますが)配列

[{ 
    name: "a", 
    value: "1" 
},{ 
    name: "b", 
    value: "2" 
},{ 
    name: "c", 
    value: "3" 
},{ 
    name: "d", 
    value: "4" 
},{ 
    name: "e", 
    value: "5" 
} 
] 

を返します。このコードはArray.prototype.reduce

var formArray = $('#formid).serializeArray(); 
formArray.reduce(function(acc, cur, i) { 
    acc[cur.name] = cur.value; 
    return acc; 
}, {}); 

に依存していますこのオブジェクトを得るために

{ 
    a: "1", 
    b: "2", 
    c: "3", 
    d: "4", 
    e: "5" 
} 
関連する問題