如何在aui:select框中设置所选值

时间:2015-04-02 15:56:26

标签: liferay liferay-6 liferay-theme alloy-ui liferay-aui

我的用户表单中有选择框的表单。我还需要在编辑模式下更新表单。我能够在编辑模式下获得选定的值。但我无法在编辑模式下设置所选值。

在这里,我可以从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>

示例I为此输入字段设置所选值,

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

请提出任何建议!!

3 个答案:

答案 0 :(得分:9)

您可以将所选值设置为:

硬编码选项:

<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>

答案 1 :(得分:3)

更简洁的方法:

<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>

答案 2 :(得分:0)

您可以使用三元运算符

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