Добавление модификаторов товара

Тема в разделе "JavaScript", создана пользователем immortal727, 9 ноя 2020.

  1. immortal727

    immortal727

    Регистрация:
    17 май 2018
    Сообщения:
    17
    Симпатии:
    0
    В основной форме создал блок для добавления модификаторов товара
    https://yadi.sk/i/bjxz7zZK51urUg
    При клике по кнопке добавляется строчка в таблице.
    Мне надо получить массив этих значений и получить их в специальном методе?
    Массив нужен вида
    $data = [
    'modif' => [
    [
    'color' => 'Желтый',
    'price' => '200',
    ],
    [
    'color' => 'Синий',
    'price' => '100',
    ],
    ]
    ];

    Где-то немного недопонимаю аякс. Кто сможет помочь?
    А еще надо учесть, что админ может удалить ненужные параметры, а значит массив обновится

    Скрипт следующий:

    $('#modifiere').click(function (e){
    e.preventDefault();
    let $data = [];
    // Получаем значения всех инпутов
    $('#modifiere').closest('.main').find('input').each(function() {
    $data[this.name] = $(this).val();
    });
    // Отправляем запрос на сервер
    $.ajax({
    url: adminpath + $('#modifiere').data('url') + '?mod-color=' + $data['mod-color'] + '&mod-price=' + $data['mod-price'],
    data: $data,
    // dataType: 'json',
    complete: function(response){
    $('#modifiere').closest('.main').find('.overlay').css({'display':'block'});
    },
    success: function(data){
    setTimeout(function(){
    $('#modifiere').closest('.main').find('.overlay').css({'display':'none'});
    $('.' + $('#modifiere').data('name')).append('<tr>' +
    '<td>' + $data['mod-color'] +'</td>' +
    '<td>' + $data['mod-price'] +'</td>' +
    '<td><a class="btn btn-danger btn-sm" href="#">\n' +
    ' <i class="fas fa-trash">\n' + '</i>\n' + 'Удалить\n' +
    ' </a>\n' +
    ' </td>' +
    '</tr>');
    }, 1000);
    },
    error: function(xhr, ajaxOptions, thrownError) {
    alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
    }
    });
    });