【问题标题】:To show the default value and maintain ordering in dropdown values显示默认值并保持下拉值的顺序
【发布时间】:2015-08-06 18:48:34
【问题描述】:

我正在开发一个应用程序,该应用程序需要在 jsp 页面中将一组问题显示为下拉列表(用户需要回答 3 个问题)。

它工作正常,但问题是每次我显示下拉列表时(问题相同),默认选择的问题不同 - 我在控制器中设置的实际问题。我需要能够只显示第一个或“选择”字符串作为默认选项。

我的jsp:

<tr>
    <br />
    <form:label path="qs1">
        <span class="">qs 1</span>
    </form:label>
    <br />
    <form:select path="qs1" multiple="false">
        <form:option value="${obj.qs0}" label="${obj.qs0}" />
        <form:option value="${obj.qs1}" label="${obj.qs1}" />********In this instance this option is shown in the drop down
        <form:option value="${obj.qs2}" label="${obj.qs2}" />
        <form:option value="${obj.qs3}" label="${obj.qs3}" />
    </form:select>
    <br />
</tr>

<tr>
    <br />
    <form:label path="as1">
        <span class="">as 1</span>
    </form:label>
    <br />
    <form:input class=""  path="as1" />
    <br />
</tr>

<tr>
    <br />
    <form:label path="qs2">
        <span class="">qs 2</span>
    </form:label>
    <br />
    <form:select path="qs2" multiple="false">
        <form:option value="${obj.qs0}" label="${obj.qs0}" />
        <form:option value="${obj.qs1}" label="${obj.qs1}" />
        <form:option value="${obj.qs2}" label="${obj.qs2}" />********In this instance this option is shown in the drop down
        <form:option value="${obj.qs3}" label="${obj.qs3}" />
    </form:select>
    <br />
</tr>

<tr>
    <br />
    <form:label path="as2">
        <span class="">as 2</span>
    </form:label>
    <br />
    <form:input class=""  path="as2" />
    <br />
</tr>

我什至尝试了 selected="selected" 来选择正确的,但没有奏效。任何的意见都将会有帮助。谢谢。

编辑:我应该很清楚。我确实尝试了 Amit 建议的选项,截至目前 obj.qs0 具有该值,而不是在 JSP 中提及该值。我刚刚添加了该选项以及问题。问题是我需要将问题设置为 Questions 对象,如下所示

Questions qs = new Questions();
qs.setQs0("----------Select-------------");
qs.setQs1("what is the name");
qs.setQs2("what is the color");

等等。

所以在jsp中我设置了路径

<form:select path="qs1" multiple="false">
<form:select path="qs2" multiple="false">

所以这些问题(q1、q2 等)是自动选择的,我无法将选择更改为始终指向 qs0(我有默认选项)。我还需要设置不同的路径,因为我需要能够捕获用户选择的不同问题和答案。

【问题讨论】:

    标签: spring jsp spring-mvc drop-down-menu


    【解决方案1】:

    1) 要默认显示“选择”,您可以添加以下行:-

     <form:select path="qs1" multiple="false">
        **<form:option value="NONE" label="--- Select ---" />**
        <form:option value="${obj.qs0}" label="${obj.qs0}" />
        <form:option value="${obj.qs1}" label="${obj.qs1}" />
        <form:option value="${obj.qs2}" label="${obj.qs2}" />
        <form:option value="${obj.qs3}" label="${obj.qs3}" />
    </form:select>
    

    2) 使用 LinkedHashMap 或 LinkedList 来存储下拉值以保持排序。

    【讨论】:

    • 谢谢阿米特。我已经用其他 cmets 更新了我的帖子。
    • 我仍然有这个问题。还有什么我可以尝试的吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 2012-08-30
    • 1970-01-01
    • 2017-08-15
    相关资源
    最近更新 更多