HTML列表框未显示正确的选定选项

HTML列表框未显示正确的选定选项,html,mysql,Html,Mysql,我有一个从表中选择颜色列表的查询。select语句是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... 当列表返回时,列表框返回正

我有一个从表中选择颜色列表的查询。select语句是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 
<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>
JSP代码更新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 
<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时,这两个值都相同,默认值为“选择颜色”。为什么?

您使用了两个选定属性,因此第二个属性是选定的属性,而不是预期的“选择颜色”。Remove selected=从以下选项中选择,然后重试..:

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

显示结果HTML。它具有正确的结果值。我不知道为什么显示默认为黑色作为显示值。我无法删除selected=selected,因为项目是从数据库中选择的,并且selected=selected是自己创建的。我将“选择颜色”的颜色代码更改为0,结果仍然相同“选择颜色”是否需要颜色代码?如果你把它移走或者改成6,会有什么不同吗。您还可以在循环末尾添加“选择颜色”选项,以便在生成所有其他选项后手动添加该选项。从简单的代码看,问题似乎是相同的冒号,但是如果您已经尝试过了……我猜0和000000的计算结果是相同的。因此,“选择颜色”的一个更独特的值(如ffffff)可以解决这个问题。当我将“选择颜色”设置为000000,将“黑色”设置为000000时,选择列表显示黑色作为所选值,而黑色则显示在列表中。但是,当我将“选择颜色”设置为FFFFFF,将“黑色”设置为FFFFFF时,这两个值都相同,默认值为“选择颜色”。为什么?好问题!是否使用唯一值或省略“选择颜色”的值,或将选项放置在循环外部,做了什么?