Выпадающий список select, option , selected ...
Добрый день. Пытаюсь сделать выпадающий список. select, option ....
C бэка приходит модель в которой есть list<record>, так же приходит список объектов list<property>. Объект record содержит поле property. То есть чтобы сменить property у объекта нужно открыть выпадающий список и выбрать определенное значение. Если объект record создается, то все нормально поле пустое нажимаешь на него и выбираешь нужное значение. А вот если надо изменить property у record, то это поле надо отображать не пустым а с текущим значением. В этом трудность, В поле отображается всегда последнее значение list<property>. Как его можно настроить? <h2> <span id="record" th:text="${record.property}"> </span> </h2> <div class="properties"> <select id="property" name="property"> <option value="Выбор свойства"/> <option th:each="property : ${properties}" th:value="${property.id}" th:text="${property.name}" th:selected="${property.id}"> </option> </select> </div> Вот такой скрипт помогает сделать выбор значения но "вслепую", $(document).ready(function () { $('#properties).val("10"); } мне надо выбирать исходя из соответствия, что property.id === record.property Подскажите как это реализовать |
Не знаю, что у вас за шаблонизатор, но можно попробовать так:
<h2> <span id="record" th:text="${record.property}"> </span> </h2> <div class="properties"> <select id="property" name="property"> <option value="Выбор свойства"/> <option th:each="property : ${properties}" th:value="${property.id}" th:text="${property.name}" th:selected="${property.id}===${record.property}"> </option> </select> </div> Или так: $(function() { $('#property').val( $('#record').text() ); }); Если у вас на странице отрисовывается весь список объектов "record", то идентификаторы нужно будет или изменить, или заменить на классы, к примеру, т.к. id - уникальный идентификатор. |
Спасибо большое работает! Шаблонизатор Thymeleaf.
"${property.id}==${record.property}"> только два знака надо, иначе подчеркивает, что неправильно. |
Часовой пояс GMT +3, время: 13:54. |