Невозможно изменить массив при использовании добавить больше функциональности - PullRequest
0 голосов
/ 08 мая 2018

У меня есть набор полей, которые являются частью формы, и их значение необходимо отправить на сервер. Этот набор полей можно добавлять несколько раз с помощью функции «добавить больше».

Code Fiddle

Например: ниже приведены наборы значений, которые я добавляю каждый раз, когда использую функцию «добавить больше» 3 раза

FirstNameOne
LastNameOne
EmailOne
StatusOne

FirstNameTwo
LastNameTwo
EmailTwo
StatusTwo

FirstNameThree
LastNameThree
EmailThree
StatusThree

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

Array
(
    [0] => FirstNameOne
    [1] => FirstNameTwo
    [2] => FirstNameThree
)
Array
(
    [0] => EmailOne
    [1] => EmailTwo
    [2] => EmailThree
)
Array
(
    [0] => StatusOne
    [1] => StatusTwo
    [2] => StatusThree
)

Однако, формат массива, который я хочу, выглядит следующим образом

Array
(
    [0] => FirstNameOne
    [1] => EmailOne
    [2] => StatusOne
)
Array
(
    [0] => FirstNameTwo
    [1] => EmailTwo
    [2] => StatusTwo
)
Array
(
    [0] => FirstNameThree
    [1] => EmailThree
    [2] => StatusThree
)

Может кто-нибудь, пожалуйстапомогите мне с этим

HTML Code

<div class="input_fields_wrap">  
  <button class="add_field_button_per plusbutton">+</button> 
  <input type="text" name="first_name[]" id="first_name" class="first_name" placeholder="First Name">
  <input type="text" name="last_name[]" id="last_name" class="last_name" placeholder="Last Name"> 
  <input type="text" name="email[]" id="email" class="email" placeholder="Email"> 
  <select name="action[]">
    <option value="Inactive">Inactive</option>
    <option value="to">A</option>
    <option value="cc">B</option>
  </select>
</div>

1 Ответ

0 голосов
/ 08 мая 2018

Вам необходимо изменить начальные name атрибуты четырех элементов, как показано ниже: -

name="data[1][]"
name="data[1][]"
name="data[1][]"
name="data[1][]"

А затем измените атрибут jQuery code name: -

$(wrapper).append('<br><input type="text" name="data['+x+'][]" id="first_name" class="first_name" placeholder="First Name"><input type="text" name="data['+x+'][]" id="last_name" class="last_name" placeholder="Last Name"><input type="text" name="data['+x+'][]" id="email" class="email" placeholder="Email"><select name="data['+x+'][]"><option value="Inactive">Inactive</option><option value="to">To</option><option value="cc">CC</option></select>'); //add input box  

Рабочая скрипка: - https://jsfiddle.net/q52v231u/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...