JavaScript код не выполняеться когда открываю страницу через Spring Boot App

Проблема в том что есть страница с множественным select, когда запускаю ее просто через браузер все работает,но когда запускаю ее через Spring Boot приложение - script не как не запускаеться, попробовал раызные script - тоже самое.

<form action="#" method="post">
<select id="select-1">
  <option value="select">Select...</option>
  <option value="a">A</option>
  <option value="b">B</option>
  <option value="c">C</option>
</select>

<select id="select-2">
  <option class="select" value="select">Select...</option>
  <option class="a" value="aa">A-A</option>
  <option class="a" value="ab">A-B</option>
  <option class="a" value="ac">A-C</option>
  <option class="b" value="ba">B-A</option>

  <option class="b" value="bb">B-B</option>
  <option class="b" value="bc">B-C</option>
  <option class="c" value="ca">C-A</option>
  <option class="c" value="cb">C-B</option>
  <option class="c" value="cc">C-C</option>
</select>

<select id="select-3">
  <option class="select" value="select">Select...</option>
  <option class="aa" value="aaa">A-A-A</option>
  <option class="aa" value="aab">A-A-B</option>
  <option class="ab" value="aba">A-B-A</option>
  <option class="ab" value="abb">A-B-B</option>

  <option class="ac" value="aca">A-C-A</option>
  <option class="ac" value="acb">A-C-B</option>
  <option class="ba" value="baa">B-A-A</option>
  <option class="ba" value="bab">B-A-B</option>
  <option class="bb" value="bba">B-B-A</option>
  <option class="bb" value="bbb">B-B-B</option>

  <option class="bc" value="bca">B-C-A</option>
  <option class="bc" value="bcb">B-C-B</option>
  <option class="ca" value="caa">C-A-A</option>
  <option class="ca" value="cab">C-A-B</option>
  <option class="cb" value="cba">C-B-A</option>
  <option class="cb" value="cbb">C-B-B</option>

  <option class="cc" value="cca">C-C-A</option>
  <option class="cc" value="ccb">C-C-B</option>
</select>
</form>

<script>
(() => {
  const dynamicSelect = (id1, id2) => {
    // Определение переменных, ссылающихся на списки
    const sel1 = document.getElementById(id1);
    const sel2 = document.getElementById(id2);
    // Клонирование динамического списка
    const clone = sel2.cloneNode(true);
    // Определение переменных для клонированных элементов списка
    const clonedOptions = clone.getElementsByTagName("option");
    // Вызов функции собирающей вызываемый список
    refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
    // При изменении выбранного элемента в первом списке: // вызов функции пересобирающей вызываемый список
    sel1.addEventListener('change', () => {
      refreshDynamicSelectOptions(sel1, sel2, clonedOptions);
    });
  };

  // Функция для сборки динамического списка
  const refreshDynamicSelectOptions = (sel1, sel2, clonedOptions) => {
    // Удаление всех элементов динамического списка
    while (sel2.options.length) {
      sel2.remove(0);
    }
    const selectedOption = sel1.options[sel1.selectedIndex].value;
    // Перебор клонированных элементов списка
    for (let i = 0; i < clonedOptions.length; i++) {
      const option = clonedOptions[i];
      // Если название класса клонированного option эквивалентно "select"
      // либо эквивалентно значению option первого списка
      if (option.classList.contains('select') ||
        option.classList.contains(selectedOption)) {
        // его нужно клонировать в динамически создаваемый список
        sel2.appendChild(option.cloneNode(true));
      }
    }
    // Отправляем событие change выбранного select
    const event = document.createEvent('HTMLEvents');
    event.initEvent('change', true, false);
    sel2.dispatchEvent(event);
  };

  // Вызов скрипта при загрузке страницы
  document.addEventListener("DOMContentLoaded", () => {
    dynamicSelect("select-1", "select-2");
    dynamicSelect("select-2", "select-3");
  });
})();
</script>


Ответы (0 шт):