Я хотел бы добавить несколько полей ввода из моей таблицы (укажите c строку) в массив. Позже я хочу пропустить l oop через этот массив.
Я делаю это так:
let selectedTr = [];
let arr = [];
$('td input:checked').each(function() {
selectedTr.push($(this).closest('tr'));
});
selectedTr.forEach((tr) => {
td = tr.find('td:not(:first-child) input');
td.each(function() {
arr.push($(this));
});
});
// Doesn't work if I define arr like above (error: arr.each is not a function, if I use `arr = $('form input')` it works perfectly for example)
arr.each(function() {
...
});
Вот короткая демонстрация на jsfiddle: https://jsfiddle.net/a4fpqynx/ PS: В jsfiddle я получаю: объект ошибки нельзя клонировать, если я использую console.log()
.
arr показывает что-то вроде (S в каждой строке):
0 S [<input type="text">] (1)
1 S [<input type="text">] (1)
...
но мне нужно ( только один S)
S
0 [<input type="text">]
1 [<input type="text">]
...
, поэтому я могу использовать arr.each
. PS: arr.each(function() {})
находится внутри другой функции, которая вызывается из нескольких файлов для проверки полей ввода. Я использую это для входа в систему, таблиц и других форм. Как я могу этого добиться?