Thymleaf обновить с помощью ajax

#ajax #thymeleaf

#ajax #thymeleaf

Вопрос:

У меня есть два варианта выбора. Я хочу изменить второе значение параметров выбора на основе значения первого параметра. Я использую thymleaf в качестве движка шаблонов.

Когда выбирается первый select, я выполняю ajax-вызов контроллера и получаю значение в виде списка. Я получаю значение из вызова ajax, но не смог добавить значение ко второму варианту выбора. console.log() корректно отображает значение параметра, но не обновляет HTML-код.

Сначала выберите опцию:

  <select id="brand" th:onchange="changeBrand()" class="form-control">
   <option th:selected="true" th:disabled="true"
           th:text="'Please Select A Brand'"></option>
   <option th:each="brand : ${Calculator}"
           th:value="${brand}"
           th:text="${brand}">Choose Brand</option>
 </select>
  

Второй выбор:

 <div class="input-group">
  <select id="model" class="form-control">
    <option th:selected="true" th:disabled="true"
            th:text="'Please Select A Model'"></option>
  </select>
</div>
  

Ajax:

 <script th:inline="javascript">
/*<![CDATA[*/
function changeBrand() {
    var selectedBrand = $( "#brand option:selected" ).text();

    $.ajax({
        url:"duty/getAllModel",
        data:{brand:selectedBrand},
        type:"POST",
        success:function(data){

            // Resetting select option
            var select = document.getElementById("model");
            select.options.length = 0;

            options = data.options;
            for (var i = 0; i < data.length; i  ) {
                select.options[select.options.length] = new Option(data[i],i);
            }
            for (var i = 0; i < select.childElementCount; i  ) {
                console.log(select.options[i]);
            }

        },error:function (error) {
            console.log(error);
        }

    });

}
/*]]>*/
  

Значение Console.log():`

Nokia Samsung`

Комментарии:

1. Я делаю точно то же самое со следующим фрагментом кода: select.append('<option value=' i '>' data[i] '</option>'); Попробуйте.

2. Эта программа работает со всеми обычными программами HTML js, за исключением моего фактического проекта thymleaf. программа 🙁