Сначала вы должны нацелиться на input
, чтобы отобразить значения.
Затем, поскольку jQuery lookup, как $("#resultTable td:nth-child(2) input")
, возвращает коллекцию jQuery элементов, вы должны применить .get()
на нем перед отображением ... Не после.
В-третьих, в селекторах td:nth-child(n)
имеет значение , а не на основе нуля.
В-четвертых, в map()
, аргумент является функцией. Эта функция нуждается в аргументе, чтобы вернуть что-то из нее. Обратите внимание на input
в .map(function (input) {
Я сделал так, чтобы массивы обновлялись при изменении input
... Но я не знаю, имеет ли это отношение к вам. В любом случае , вы должны использовать событие для достижения этой цели. Также обратите внимание на использование Делегирование , так как ваша таблица динамически меняется ...
var col1_Array, col2_Array;
$(document).on("change","#resultTable td input", function () {
col1_Array = $("#resultTable td:nth-child(2) input")
.get()
.map(function (input) {
return input.value;
});
col2_Array = $("#resultTable td:nth-child(3) input")
.get()
.map(function (input) {
return input.value;
});
console.log(col1_Array, col2_Array);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="table-gen">
<p>Als je dezelfde herhaling doet voor alle sets, kan je slechts één waarde invullen: bvb. voor 4 sets
slechts éénmaal 10 invoeren voor de herhalingen. Dit wordt dan automatisch 4 x 10.</p>
<table id="resultTable" cellpadding="1" cellspacing="1" border="1">
<tr>
<th scope="col"></th>
<th scope="col">Hoeveelheid</th>
<th scope="col">Gewicht x KG</th>
</tr>
<tr>
<td>1</td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
</tr>
<tr>
<td>2</td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
</tr>
<tr>
<td>3</td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
<td><INPUT TYPE="NUMBER" MIN="0" MAX="10" STEP="1"></td>
</tr>
</table>
</div>
CodePen