Сериализация массива HTML-форм в массив Javascript

0

У меня есть форма, содержащая список текстовых полей

<input type="text" name="list[]" value="">
<input type="text" name="list[]" value="">

Я запускаю какой-то пользовательский jQuery для проверки ввода и выполнения некоторых других действий перед тем, как отобразить пользователю кусок JSON. Я хочу, чтобы эти элементы стали стандартным массивом javascript a la:

{"list":["something","something else"]}

Есть ли простой вызов, который я могу сделать для конкретного элемента, чтобы вытащить его в виде массива, что-то вроде этого?

var jsonVars = {};
jsonVars['list'] = $("input[name=list]").getArray();
  • 0
    Если у вас есть фактическая форма, вы можете сделать $(form).serializeArray()
  • 0
    @adeneo У меня есть форма, но я не хочу брать все содержимое формы. Мне нужно будет перебрать всю карту, чтобы найти ту цель, которую я ищу таким образом.
Показать ещё 1 комментарий
Теги:
arrays

2 ответа

1
Лучший ответ

Если у вас есть структура и вы хотите получить значения, которые вы могли бы сделать:

var jsonVars = {};
jsonVars['list'] = $('input[name="list[]"]').map(function(){return this.value;}).get();

Вы можете использовать $('input[name="list[]"]').serializeArray() но возвратится в другом формате как массив объектов (с именем и значением).

0

Там jQuery сериализует функцию. Эта тема похожа на вашу и может дать вам более глубокое понимание.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню