Начиная с вашего HTML, имеющего две основные проблемы. Во-первых, вы используете одно и то же поле формы для любого из полей, а также имеете одинаковый идентификатор для всех полей. Это влияет на то, чтобы поля выглядели так, как будто есть только один.
<input type="hidden" name="uID" id="uID" value="251|0">
<input type="hidden" name="uID" id="uID" value="252|0">
<input type="hidden" name="uID" id="uID" value="253|0">
<input type="hidden" name="uID" id="uID" value="254|0">
<input type="hidden" name="uID" id="uID" value="0|0">
Для того, чтобы решить эту проблему, вы должны либо обновить HTML, чтобы выглядит следующим образом:
<input type="hidden" name="uID[]" id="uID-1" value="251|0">
<input type="hidden" name="uID[]" id="uID-2" value="252|0">
<input type="hidden" name="uID[]" id="uID-3" value="253|0">
<input type="hidden" name="uID[]" id="uID-4" value="254|0">
<input type="hidden" name="uID[]" id="uID-5" value="0|0">
из так:
<input type="hidden" name="uID-1" id="uID-1" value="251|0">
<input type="hidden" name="uID-2" id="uID-2" value="252|0">
<input type="hidden" name="uID-3" id="uID-3" value="253|0">
<input type="hidden" name="uID-4" id="uID-4" value="254|0">
<input type="hidden" name="uID-5" id="uID-5" value="0|0">
В первом решении, если вы разместите форма, данные будут поступать на ваш сервер, будет массивом со значениями всех ваших полей.
Во втором решении, которое я вам пришлю, вы просто будете иметь несколько переменных в своем запросе.
Теперь для того, чтобы получить значения, которые вы должны выполнить следующий код:
// Isolate the code inside a Immediately-Invoked Function Expression (IIFE)
(
function ($, window, undefined) {
// Create a variable that is going to hold all the hidden fields
var $hidden_inputs = null;
// Responsible to iterate over the elements found in your
// HTML, and returns the values in the format of val,val,val
var get_values = function get_values () {
// Register an array variable that is going
// to hold the values of all the found fields
var $string_parts = [];
// Iterate over the found fields
$hidden_inputs.each(
function() {
// And push the values of those fields into the
// values array container
$string_parts.push($(this).val());
}
);
// Finally return the array values joined with commas
return $string_parts.join(',');
}
// When the document is loaded
$(document).ready(
function() {
// Query the document for the hidden fields that works
// like that:
// Find all the input fields with
// type="hidden" that the
// name attribute contains the string uID
$hidden_inputs = $('input[type="hidden"][name*="uID"]');
// If the jQuery found more than 0 elements
if (0 < $hidden_inputs.length) {
// Get the field values and save them into the
// $values variable.
var $values = get_values();
}
}
);
}
)(jQuery, this);
Вы также можете найти работающий пример здесь: jsFiddle
Почему у вас есть несколько файлов '' элементов с тем же именем в первую очередь? Кроме того, идентификаторы должны быть уникальными в DOM. – BenM
'$ (" input [name = 'uID'] "). Map ((x, elm) => elm.value) .get(). Join (',')' – haim770
@Damien, если у вас есть ответ , пожалуйста, проверьте ответ, который помог вам в правильном ответе и голосовании :) Это поможет сообществу ответить на вопросы :);) –