Как установить выбранное значение в поле aui: select

У меня есть форма с полем выбора в моей пользовательской форме. Мне также нужно обновить форму в режиме редактирования. Я могу получить выбранное значение в режиме редактирования. Но я не могу установить выбранное значение в режиме редактирования.

Здесь я могу получить выбранное значение из db. <%=user.getTitle() %> Теперь, как я могу установить выбранное значение в моем поле выбора.

<aui:select name="title">
    <aui:option label="Dr" value="dr" />
    <aui:option label="Mr" value="mr" />
    <aui:option label="Mrs" value="mrs" />
    <aui:option label="Ms" value="ms" />
</aui:select>

Пример. Я устанавливаю выбранное значение для поля ввода следующим образом:

<aui:input name="emailAddress" value=""></aui:input>

Любые предложения, пожалуйста!


person Vinod    schedule 02.04.2015    source источник
comment
просто установите выбранный атрибут как истинный для тега aui:option, сравнив сохраненное значение со значением параметра.   -  person Pankaj Kathiriya    schedule 02.04.2015


Ответы (3)


Вы можете установить выбранное значение как:

Жестко закодированные параметры:

<aui:select name="title">
    <aui:option label="Dr" value="dr" selected="<%=user.getTitle().equals("dr") %>" />
    <aui:option label="Mr" value="mr" selected="<%=user.getTitle().equals("mr") %>" />
    <aui:option label="Mrs" value="mrs" selected="<%=user.getTitle().equals("mrs") %>" />
    <aui:option label="Ms" value="ms" selected="<%=user.getTitle().equals("ms") %>" />
</aui:select>

Динамические параметры:

<aui:select name="title">
    <%for(int i = 0; i < listOfOptions.size(); i++){ 
        Object option = listOfOptions.get(i);
        boolean selected = false;
        if(user.getTitle().equals(option.getTitle())){
            selected = true;
        } %>
        <aui:option label=<%=option.getTitle() %> value="<%=option.getValue() %>" selected=<%=selected %> />
    <%} %>
</aui:select>
person Parkash Kumar    schedule 03.04.2015

Более чистый способ сделать это:

<aui:select name="title">
  <c:forEach items="${listOfOptions}" var="currOption">
    <option value="${currOption}"<c:if test="${currOption == title}"> selected="selected"</c:if>> 
       ${currOption}
     </option>
  </c:forEach>
</aui:select>
person admirm    schedule 03.05.2016

Вы можете использовать тернарный оператор

    <c:forEach var="currOption" items="${listOfOptions}">
        <aui:option value="${currOption}" label="${currOption}" selected="${currOption==selOption?true:false}" />
    </c:forEach>
person stuzocub    schedule 21.06.2018