JQuery .serializeArray () Как получить доступ к данным в Json Object - PullRequest
2 голосов
/ 20 января 2011

Я использую jquery .serializeArray (), чтобы получить все <input> в <form>. Я помещаю объект Json, который выходит из .serializeArray() в jquery .data()

Как найти нужные данные из объекта Json?

Jquery getJson() нужен URL, но у меня уже есть объект Json.

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Метод serializeArray() (документы) не создает данные JSON. Он создает массив объектов, каждый из которых имеет свойства name и value.

Способ получения данных зависит от того, что вам нужно. Для прямого доступа к определенному элементу вы получаете к нему доступ, как и к любому другому массиву и объекту.

myData[1].value;

Получает value второго элемента в массиве.

Если вам нужно перебрать их, вы можете использовать jQuery.each() (документы)

$.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 голосов
/ 07 июня 2017

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"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...