@Arh1diablo
Web мастер

Как собрать данные из динамических элементов путем jQuery?

Доброго времени суток, подскажите пожалуйста, у меня есть блок .addserviceList в котором находятся блоки .addserviceBlock и внутри находятся два input ( с разными class ) :

Пример:

<div class="addserviceList">
    <div class="addserviceBlock">
        <input type="text" class="addservice" name="addservice" placeholder="Наименование услуги">
        <input type="text" class="addprice" name="addprice" placeholder="Цена">
    </div>

    <div class="addserviceBlock">
        <input type="text" class="addservice" name="addservice" placeholder="Наименование услуги">
        <input type="text" class="addprice" name="addprice" placeholder="Цена">
    </div>

    <div class="addserviceBlock">
        <input type="text" class="addservice" name="addservice" placeholder="Наименование услуги">
        <input type="text" class="addprice" name="addprice" placeholder="Цена">
    </div>
</div>

<button id="step1">Создать заказ</button>


Количество addserviceBlock разное ( они динамически добавляются \ удаляются ). На клик по #step1 будет срабатывать сбор данных по всем в многомерный массив:

$("#step1").on("click", function (event) {
    event.preventDefault();

/* Формирование многомерного массива JS для передачи AJAX*/
    
});


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

Пример:

var service = [
        ['Услуга 1', '100'],
        ['Услуга 2', '50'],
        ['Услуга 3', '90'],
    ];
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const selectors = [ '.addservice', '.addprice' ];
const data = Array.from(
  document.querySelectorAll('.addserviceBlock'),
  n => selectors.map(m => n.querySelector(m).value)
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы