@maksymNejmet

В функции неправильный порядок вычисления лет и как это решить?

У мене есть функция в которой я не могу нормально вписать года(должен начинатся с 2017)
<script>
      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 + 1);
          container.appendChild(new_tr);
        }
      }

      function getAverageMark() {
        const container = document.getElementById("container");

        const inputs = container.getElementsByTagName("input");

        let sum = 0;
        for (let i = 0; i < inputs.length; i++) {
          sum += parseInt(inputs[i].value);
        }
        return sum;
      }

      function onAvgClick() {
        const avg = getAverageMark();
        document.getElementById("avgMark").innerText = avg;
      }
      window.onload = function () {
        document.getElementById("marksCount").onchange = onMarksCountChange;
        document.getElementById("btn").onclick = onAvgClick;
      };
    </script>

HTML:
<label>
      Количество лет
      <input type="number" id="marksCount" value="2" />
    </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>
      </tbody>
    </table>
    <hr />
    <button id="btn">Найти прибыль</button>
    <p>Прибыль: <span id="avgMark"> </span></p>
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
@SunUp
Я не волшебник, я ещё только учусь
td.innerText = `${2016 + rowNum}`;
в функции createTr если я правильно понял ваш вопрос
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы