如何在下拉列表的末尾保留特定选项?

时间:2014-06-25 02:57:34

标签: javascript struts2

我想显示一个供用户选择的城市列表,用户也应该可以选择"其他"添加新城市的选项。一旦他们选择其他'将显示一个新文本框以获取新选项的值。

问题在于'其他'选项应始终是列表中的最后一个选项,但列表的顺序基于ID号。即使我把它作为城市表中的最后一项,因为用户可以添加新城市,所有新城市都会追求“其他”城市。在列表中。

<s:select list="Cities"
             name="cities.id"
             label="Cities"
   />  

列表

在数据库中,城市列表如下所示

 Paris
 Los Angeles 
 Other

但是,它应该向用户显示如下(有序,而其他仍然是最后一个选项)

 Los Angeles
 Paris
 Other

如果选择其他并输入东京,则更新列表应为(已订购,添加东京,而其他仍为最后选项)

    Los Angeles
    Paris
    Tokyo
    Other

1 个答案:

答案 0 :(得分:1)

有几种解决方案:

  1. 通过JS
  2. 动态添加选项
  3. 在操作中(或加载城市的任何位置)添加该选项,方法是将其附加到Cities
  4. 不要使用<s:select>标记,只需为纯HTML选择构建选项
  5. 我可能会使用选项二,只需在呈现JSP之前将选项添加到列表中。

    最佳方法是否取决于您应用的其他方面。


    不相关,但按ID排序似乎非常违反直觉。