2016-10-01 2 views
0

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

Я ищу некоторую помощь по добавлению нескольких пользовательских входов в массив с использованием jquery.

У меня есть форма, которая динамически добавляет и удаляет поля, как показано здесь (максимум 5, но не всегда может быть 5, минимум 1): dynamic inputs

Я хотел бы цикл через номер курса и описание и добавить к массиву. Например:

Array 
(
[0] => PT 101, Personal Training 101 
[1] => EH 263, Eating Healthy 
} 

настоящее время я получаю результаты так:

var courseInfo = $("input[name='course_num\\[\\]'], input[name='course_desc\\[\\]']").map(function() { return $(this).val(); }).get().join(","); 

Я попытался .toArray, .get и другие методы получения значений, но не повезло.

Любые предложения?

спасибо.

+0

Вы попробовали мой ответ? –

ответ

0

Два входа связаны и должны иметь один и тот же родительский:

<div name="parent"> 
    <input name="course_num" /> 
    <input name="course_desc" /> 
</div> 

Затем селектор your'e должно быть основано на родителя:

var arr = $("[name='parent']").map(function() { 
     return { 
     num: $(this).find("input[name='course_num']").val(), 
     desc: $(this).find("input[name='course_desc']").val() 
     }; 
    }); 

JSFIDDLE.

+0

Спасибо за помощь. Это похоже на хороший подход. К сожалению, когда я пытаюсь, я не получаю никакого текста от входов; только [Object, Object, Object] и undefined. Есть предположения...? Что я делаю не так? – Gman

+0

Поскольку каждый элемент в массиве th является объектом, который имеет свойства 'num' и' desc'. –

+0

Спасибо за помощь. Задача решена :-) – Gman

Смежные вопросы