【问题标题】:HTML List Box not displaying correct selected optionHTML 列表框未显示正确的选定选项
【发布时间】:2012-12-27 02:08:47
【问题描述】:

我有一个从表中选择颜色列表的查询。选择语句是SELECT ColorDesc, ColorCode FROM Colors ORDER BY ColorCode。

表中的数据样本为:

ColorDesc, ColorCode
Select Color -#0
Black -#000000
Navy -#000080
DarkBlue -#00008B
MediumBlue -#0000CD
Blue -#0000FF
DarkGreen -#006400...

返回列表时,列表框会返回正确的选项,但显示选项默认为“黑色”,而应为“选择颜色”。

生成的 HTML(2012.12.26 更新):

<label for="skinColorId">Select Skin Color</label>      
                                    <select id="skinColorId" name="skinColorId" title="Select Skin Color">
                                    <option value="#000000" selected="selected">Select Color</option><option value="#00FFFF">Aqua</option><option value="#7FFFD4">Aquamarine</option><option value="#F0FFFF">Azure</option><option value="#F5F5DC">Beige</option><option value="#FFE4C4">Bisque</option><option value="#000000" selected="selected">Black</option><option value="#FFEBCD">BlanchedAlmond</option><option value="#0000FF">Blue</option><option value="#8A2BE2">BlueViolet</option><option value="#A52A2A">Brown</option><option value="#DEB887">BurlyWood</option><option value="#5F9EA0">CadetBlue</option><option value="#7FFF00">Chartreuse</option><option 

JSP 代码(2012.12.26 更新):

<li>
<form:label for="skinColorId" path="skinColorId">Select Skin Color</form:label>     
                                        <form:select path="skinColorId" id="skinColorId" title="Select Skin Color">
                                        <form:options items = "${skinColor.skinColorList}" itemValue="colorCode" itemLabel="colorDesc"/>
                                        </form:select>          
                                        <form:errors path="skinColorId" class="errors"/><label class="colorPreviewer" id="skinColorPreviewer">color previewer</label>
</li>

更新(2012 年 12 月 27 日)

当我将“选择颜色”设置为 #000000 并将“黑色”设置为 #000000 时,选择列表将黑色显示为所选值,而黑色则显示在列表中。但是,当我将“选择颜色”设置为 #FFFFFF 并将“黑色”设置为 #FFFFFF 时,这两个值都相同,默认值为“选择颜色”。为什么?

【问题讨论】:

  • 显示生成的 HTML。
  • 它有正确的结果值我不知道为什么显示默认为黑色作为显示值。

标签: html mysql


【解决方案1】:

您有两个已选择的属性正在使用中,因此第二个是已选择的属性,而不是预期的“选择颜色”。从以下内容中删除selected="selected",然后重试.. :)

<option value="#000000" selected="selected">Black</option>

【讨论】:

  • 我无法删除 selected=selected,因为这些项目是从数据库中选择的,并且 selected ="selected" 是自行创建的。我将“选择颜色”的颜色代码更改为 #0,结果仍然相同
  • “选择颜色”是否需要颜色代码?如果您将其删除或将其更改为 #6 之类的内容,是否会有所作为?您还可以在循环末尾添加“选择颜色”选项,以便在生成所有其他选项后手动添加。简要看一下您的代码,问题似乎是相同的 colodCode,但如果您已经尝试过......
  • 我的猜测是 #0 和 #000000 都在评估相同的结果。因此“选择颜色”的更独特的值(例如 #ffffff)可能会解决此问题。
  • 当我将“选择颜色”设置为 #000000 并将“黑色”设置为 #000000 时,选择列表将黑色显示为所选值,而黑色则显示在列表中。但是,当我将“选择颜色”设置为 #FFFFFF 并将“黑色”设置为 #FFFFFF 时,这两个值都相同,默认值为“选择颜色”。为什么?
  • 好问题!使用唯一值或省略“选择颜色”的值,或将选项置于循环之外,是否有任何作用?
猜你喜欢
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 2017-03-28
  • 1970-01-01
  • 2011-08-17
相关资源
最近更新 更多