0

我有一个从数据库查询中填充的 JSP Dropdown,它工作得很好。

但我还想添加一个空白默认选项,以便在提交时该字段为空。现在默认值是从数据库中选择的第一个值。但我希望它看起来是空的。

我让它工作的唯一方法""是在填充列表时手动添加一个。

有没有更优雅的方式来做到这一点?

        <div class="row">
            <label class="span2">Action</label>
            <form:select path="Action">
                <form:options items="${actionList}" />
                <form:errors path="Action" cssClass="error"/>
            </form:select>
        </div>

具有默认值的页面,默认情况下我不想出现:

在此处输入图像描述

4

3 回答 3

6

使用单个选项元素

<form:select path="Action" >
    <form:option  value="" />
    <form:options items="${actionList}" />
    <form:errors  path="Action" cssClass="error"/>
</form:select>
于 2013-07-19T12:54:44.400 回答
1

空的默认值不是好的 UI 设计。你应该给一个提示该怎么做。

    <div class="row">
        <label class="span2">Action</label>
        <form:select path="Action">
            <option selected="selected"> -- Please choose --</option>
            <form:options items="${actionList}" />
            <form:errors path="Action" cssClass="error"/>
        </form:select>
    </div>

或者更好的 html 是

    <div class="row">
        <label class="span2">Action
            <form:select path="Action">
                <option selected="selected"> -- Please choose --</option>
                <form:options items="${actionList}" />
                <form:errors path="Action" cssClass="error"/>
            </form:select>
        </label>
    </div>

如果您喜欢将其样式设置为表格,则应删除 div,将标签样式设置为 display:table-cell 和 ...

于 2013-07-19T12:53:23.377 回答
0

因为第一个答案对用户体验不是特别友好,而第二个答案不是很有弹性:/

结合前面的两个答案将两全其美:

<form:select path="Action" >
  <form:option  value="">--Select one--</form:option>
  <form:options items="${actionList}" />
  <form:errors  path="Action" cssClass="error"/>
</form:select>

这将在数​​据库中存储一个空值。

于 2015-01-21T11:56:43.680 回答