@Atljh0987

Как изменять значения в объекте класса через input?

<div id="box"></div>
<input id="changer" type="number" value ='3'>


class Changer {
  constructor(t) {
    this._init(t);
  }
  
  _init(t) {
    let el = document.createElement('h3');
    let cont = document.querySelector('#box');
    el.innerHTML = t;
    cont.append(el);
  }
}

let val = document.querySelector('#changer').value;
let g = new Changer(val);

Что лучше добавить, чтобы при изменении значения #changer динамически менялось значение элемента h3?
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
Надо отслеживать изменения в input'е.
- let val = document.querySelector('#changer').value;
+ let val = document.querySelector('#changer');

let el = document.createElement('h3');
let cont = document.querySelector('#box');
t.addEventListener('input', () => {
    el.textContent = t.value;
});
el.textContent = t.value;
cont.append(el);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@StiflerProger
Как вариант https://jsfiddle.net/sc6w39kr/4/
Ответ написан
Комментировать
r0n1x
@r0n1x
html, css, js
Нам не к чему перестраивать DOM, если точно знаем что будет элемент h3.
Можно вот так попробовать.

<div id="box">
      <h3 id="h3" />
    </div>
    <input id="changer" type="number" oninput="foo(this.value)">
    <script>
      function foo(value) {
        h3.textContent = value
      }
    </script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы