我想将表(特定行)中的一些输入字段添加到数组中。稍后,我想遍历此数组。
我这样做是这样的:
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() {})
在另一个函数中,该函数从多个文件中调用以检查输入字段。我将其用于登录,表格和其他形式。
我该如何实现?
答案 0 :(得分:0)
const rowList = [...document.querySelectorAll('tr')]
const inputList = rowList.filter(row => row.firstElementChild.firstElementChild.checked).map(row => {
return [...row.querySelectorAll('input')]
})
console.log(inputList)