У меня есть форма, которая содержит поле ассоциативного массива:Отправить форму с ассоциативным массивом с помощью AJAX для PHP
<label for="my_array[][system]">System</label>
<input id="my_array[][system]" type="text" value="" name="my_array[0][system]">
<label for="my_array[][name]">Name</label>
<input id="my_array[][name]" type="text" value="" name="my_array[0][name]">
Я пытаюсь получить эту форму размещенной на PHP с использованием Ajax. Я попытался это:
$.ajax({
type: "POST",
dataType: "json",
url: ajaxurl,
data: {
action: "update_postmeta",
post_id: post_id,
nonce: nonce,
my_array: $('input:text[name="my_array*"]')
.each(function() { values[this.name] = $(this).val() })
},
success: function (response) {
alert(response);
},
error: function (jqXHR, textStatus, errorThrown) {
alert("Error: " + textStatus + '\r\n\r\n' + errorThrown);
}
})
Проблема заключается в этой строке кода:
my_array: $('input:text[name="my_array*"]')
.each(function() { values[this.name] = $(this).val() })
.each() не является функцией ... Я не уверен, как получить my_array
заселена с данными формы в той же структуре он будет использовать регулярное представление формы (без Ajax).
Как отправить данные формы, когда она создана с помощью ассоциативного массива?
Опубликовать как объект JavaScript –
Ваш вопрос еще не совсем ясен. '$ .fn.each()' является функцией, и она должна работать для заполнения массива. Вы говорите, что '.each()' не работает, или что вы не можете отправлять массив как данные через '. $ .ajax()'? –
@ Nostalg.io Я думаю, что проблема в моем селекторе - правильно ли используется звездочка для выбора полей формы ассоциативного массива? Так как селектор не работает .each() недействителен, я думаю? : S – rwkiii