@maksymNejmet

Динамическая таблица без button.Почему-то не работает вычисления?

Не работает скрипт для вычисления общей прибыли(должно быть сделано без button высчитывать общую прибыль динамически)
<script>
      function getProfitResult() {
        let profit = document.getElementById("container");
        let inputs = profit.getElementsByTagName("input");
        let s = 0;
        for (let i = 0; i < inputs.length; i++) {
          let prodResult = parseInt(inputs[i].value);
          s += prodResult;
        }
        let r = (s * 5) / 100;
        let x = s - r;
        return x;
      }
      function onProfitClick() {
        let avg = getProfitResult();
        document.getElementById("resultProfit").innerText = avg;
      }
      window.onload = function () {
        document.getElementById("container").onchange = onProfitClick;
      };
      window.onload = function () {
        document.getElementById("marksCount").onchange = onMarksCountChange;
      };
      function createTr(rowNum) {
        const tr = document.createElement("tr");

        const td = document.createElement("td");
        td.innerText = `20${rowNum}`;
        tr.appendChild(td);

        const td2 = document.createElement("td");
        const inp = document.createElement("input");
        inp.type = "number";
        td2.appendChild(inp);
        tr.appendChild(td2);
        return tr;
      }

      function onMarksCountChange() {
        const marksCountInp = document.getElementById("marksCount");
        const marksCount = parseInt(marksCountInp.value);
        const container = document.getElementById("container");
        container.innerHTML = "";
        for (let i = 0; i < marksCount; i++) {
          const new_tr = createTr(i + 17);
          container.appendChild(new_tr);
        }
      }
</script>

HTML:
<p></p>
    <label>
      Количество лет
      <input type="number" id="marksCount" value="3" />
      <p></p>
    </label>
    <table border="2px">
      <thead>
        <tr>
          <th>Год</th>
          <th>Размер прибыли</th>
        </tr>
      </thead>
      <tbody id="container">
        <tr>
          <td>2017</td>
          <td>
            <input type="number" name="" id="" />
          </td>
        </tr>
        <tr>
          <td>2018</td>
          <td>
            <input type="number" name="" id="" />
          </td>
        </tr>
        <tr>
          <td>2019</td>
          <td><input type="number" /></td>
        </tr>
      </tbody>
    </table>
    <hr />
    <label>Налог(5%)</label>
    <br />
    <label>Общая прибыль за весь период: <span id="resultProfit"></span></label>
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
24 нояб. 2024, в 23:46
20000 руб./за проект
24 нояб. 2024, в 23:07
2000 руб./за проект