У меня есть список текстовых вводов, которые начинаются с одного и того же идентификатора, но немного отличаются в конце. Когда пользователь вводит текст в любое из этих полей ввода, я хочу выполнить функцию. На данный момент это работает со следующим кодом:
var heightInches = document.querySelector("#Height_Inches");
var heightFeet = document.querySelector("#Height_Feet");
var heightCentimeters = document.querySelector("#Height_Centimeters");
heightInches.oninput = function (e) {
console.log("Edited");
}
heightFeet.oninput = function (e) {
console.log("Edited");
}
heightCentimeters.oninput = function (e) {
console.log("Edited")
}
Проблема в том, что мне не нравится повторение, и я бы предпочел запросить все идентификаторы, которые начинаются с "Height_", и сделать что-то (как то, что оправдано внутри каждой функции, будет одинаковым.
Вот то, что я пробовал, но не работает:
var allHeight = document.querySelector('[id*="Height_"]');
allHeight.oninput = function (e) {
console.log("edited");
}
Я также пробовал то же самое с querySelectorAll
Может, кто-нибудь поможет мне понять, где я ошибаюсь? Любой другой ответ на вопрос Stack Overflow и статья, которую я вижу, указывают на то, что id*
является правильным способом выбора? Спасибо