Я работаю над проектом, который использует повторитель jquery. Мне нужно пройтись по элементам ввода, чтобы сделать мои проверки. Итак, вот пример ввода моей формы:

<input name="group-fundos[0][fundo-nome]" placeholder="Nome do Fundo" type="text">

И вы можете видеть, это как массив. Поэтому мне нужно получить все эти элементы с помощью jquery. Как я могу это сделать?

Изменить: еще одна деталь. Я использую многошаговую форму. Так что для каждого шага мне нужно пройтись по собственным входам. Типы входных данных могут быть различными: выбор вариантов, текстовые поля, текстовые области и т. Д.

0
churros 21 Мар 2017 в 23:20

2 ответа

Лучший ответ

Вы можете попытаться получить все значения, используя метод jQuery [serializeArray]. Например.

// assuming that your input fields are inside a certain form
var oFormData = $('#multi-step-form').serializeArray();

 for (var iIndex in oFormData) {
     console.log(oFormData[iIndex].value);
 }

Просто убедитесь, что все ваши [поля ввода] также имеют атрибуты [name]. Надеюсь, это поможет в вашем случае

2
User 328 6227 21 Мар 2017 в 22:24

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

var i = 0;
while($("input[name='group-fundos["+i+"][fundo-nome]']").length) {
    //validate here or build a js array for later
}

< Сильный > Edit

Используя атрибут содержит селектор, вы можете получить элементы как предоставленный.

$("input[name*='group-fundos["+i+"]") получит все элементы с именем, начинающимся на "group-fundos [i]". (Обратите внимание на * =).

0
Isaiah 23 Мар 2017 в 01:20