Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2019, 15:06
Новичок на форуме
Отправить личное сообщение для JustMe Посмотреть профиль Найти все сообщения от JustMe
 
Регистрация: 05.08.2018
Сообщений: 5

Выпадающий список 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

Подскажите как это реализовать

Последний раз редактировалось JustMe, 01.02.2019 в 15:18.
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2019, 17:18
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

Не знаю, что у вас за шаблонизатор, но можно попробовать так:
<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 - уникальный идентификатор.
Ответить с цитированием
  #3 (permalink)  
Старый 04.02.2019, 12:09
Новичок на форуме
Отправить личное сообщение для JustMe Посмотреть профиль Найти все сообщения от JustMe
 
Регистрация: 05.08.2018
Сообщений: 5

Спасибо большое работает! Шаблонизатор Thymeleaf.
"${property.id}==${record.property}"> только два знака надо, иначе подчеркивает, что неправильно.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
select - большое количество option kot_k_k (X)HTML/CSS 3 08.09.2017 16:34
Выпадающий список select kirill1989 Общие вопросы Javascript 0 16.12.2014 20:01
Выпадающий список (select) Erida90 Events/DOM/Window 2 09.11.2013 23:54
селект переделанный под список Vasёk18 Элементы интерфейса 0 13.04.2012 23:49
неограниченый выпадающий список select Simon jQuery 0 05.02.2011 07:42