У меня есть теги «table» и «tbody» в html со многими элементами «tr». Я хочу отправить с Ajax каждый элемент таблицы для захвата с помощью PHP, но я не знаю, как создать многомерный массив для установки каждого элемента. Я написал этот код, но это неправильно.Как я могу отправить многомерный массив с помощью Ajax jQuery?
<tbody id="nuevo_producto">
<tr>
<td><input type="hidden" name="tabla-1">1</td>
<td><input class="form-control" placeholder="Ref." type="text" size="15" id="modelo_ref_1" name="modelo_ref_1"></td>
<td><input class="form-control" placeholder="Ref. C" type="text" size="15" id="modelo_refc_1" name="modelo_refc_1"></td>
<td><input class="form-control" placeholder="Modelo" type="text" size="60" id="modelo_modelo_1" name="modelo_modelo_1"></td>
<td><input class="form-control" placeholder="PVP" type="text" size="15" id="modelo_pvp_1" name="modelo_pvp_1"></td>
</tr>
<tr>
<td><input type="hidden" name="tabla-2">1</td>
<td><input class="form-control" placeholder="Ref." type="text" size="15" id="modelo_ref_2" name="modelo_ref_2"></td>
<td><input class="form-control" placeholder="Ref. C" type="text" size="15" id="modelo_refc_2" name="modelo_refc_2"></td>
<td><input class="form-control" placeholder="Modelo" type="text" size="60" id="modelo_modelo_2" name="modelo_modelo_2"></td>
<td><input class="form-control" placeholder="PVP" type="text" size="15" id="modelo_pvp_2" name="modelo_pvp_2"></td>
</tr>
...
Javascript-JQuery-Ajax код
function pruebaAjax() {
var tamano = $("#tamano_hidden").val() * 4; // Value of table length
var array = [[[[]]]]; // How can I create a multidimensional array? I know that form is not correct
for (var i = 1; i <= tamano; i++) {
array[i][1] = $("#modelo_ref_" + i.toString());
array[i][2] = $("#modelo_refc_" + i.toString());
array[i][3] = $("#modelo_modelo_" + i.toString());
array[i][4] = $("#modelo_pvp_" + i.toString());
}
var marca = $("#nombreMarca").val();
var tipo = $("#tipo_producto").val();
var nombre = $("#nombre_producto").val();
var comentarios = $("#descripcion").val();
var parametros = {
"tamano"
: tamano,
"tabla"
: array,
"marca"
: marca,
"tipo"
: tipo,
"nombre"
: nombre,
"comentarios"
: comentarios
};
$.ajax({
data: parametros,
url: 'ejemplo_ajax_proceso.php',
type: 'post',
beforeSend: function() {
$("#resultado").html("Procesando, espere por favor...");
},
success: function(response) {
$("#resultado").html(response);
}
});
Я хочу что-то подобное, чтобы отправить через POST
[0][0] = modelo_ref_0 //table's first row elements
[0][1] = modelo_refc_0
[0][2] = modelo_modelo_0
[0][3] = modelo_pvp_0
[1][0] = modelo_ref_1 //table's second row elements
[1][1] = modelo_refc_1
[1][2] = modelo_modelo_1
[1][3] = modelo_pvp_1
[2][0] = modelo_ref_2 //table's third row elements
[2][1] = modelo_refc_2
[2][2] = modelo_modelo_2
[2][3] = modelo_pvp_2
....
Спасибо всем.
ПОСЛЕДНИЙ ВОПРОС:
Я написал это с другими переменными:
function pruebaAjax() {
var tamano = $("#tamano_hidden").val() * 4;
var dataString = $('#form_serialize').serialize();
var marca = $("#nombreMarca").val();
var tipo = $("#tipo_producto").val();
var nombre = $("#nombre_producto").val();
var comentarios = $("#descripcion").val();
var parametros = {
"tamano"
: tamano,
"tabla"
: dataString,
"marca"
: marca,
"tipo"
: tipo,
"nombre"
: nombre,
"comentarios"
: comentarios
};
$.ajax({
data: parametros,
url: 'ejemplo_ajax_proceso.php',
type: 'post',
Затем я установил переменные в PHP ...
$tamano = $_POST['tamano'];
$fila = $_POST['tabla'];
$marca = $_POST['marca'];
$tipo = $_POST['tipo'];
$nombre = $_POST['nombre'];
$comentarios = $_POST['comentarios'];
Как я могу перебирать $ Fila с сериализации-х переменные?
Как создать многомерный массив? Использовать var arr = [] []; –