#javascript
#javascript
Вопрос:
function ofInput() {
const data = Array.from(
this.children,
tr => Array.from(tr.querySelectorAll('input'), input => input.value)
);
}
document.querySelector('tbody').addEventListener('input', ofInput);
console.log(data);
Таблица имеет входные данные в каждой ячейке. При выводе данных на вход данные в массиве должны автоматически меняться
Комментарии:
1. Функция должна возвращать значение.
2. С чем вы собираетесь делать
data
?3. @Pointy но даже если
console.log(data)
бы это было так, там, где он это сделал, это ничего не дало бы4. @OP это больше похоже на проблему XY , чем на что-либо еще. Вы бы узнали намного больше, приведя нам простой пример того, что вы на самом деле пытаетесь сделать.
5.
should automatically change
… Javascript ничего не делает «автоматически».. Должен быть код для обнаружения изменений и соответствующего обновления.
Ответ №1:
Переменная данных находится внутри области действия функции ofInput . Вам нужно объявить переменную за пределами области действия функции, чтобы получить к ней доступ. Попробуйте это:
let data;
function ofInput() {
data = Array.from(
this.children,
tr => Array.from(tr.querySelectorAll('input'), input => input.value)
);
}
document.querySelector('tbody').addEventListener('input', ofInput);
if (data amp;amp; typeof(data) === "array") console.log(data);
else console.log("Event did not occur");