【发布时间】:2013-12-03 15:11:16
【问题描述】:
我有一个 html 选择器,用户可以通过它选择颜色。
<select name="color" class="form-control">
<option value="ff0000">Red</option>
<option value="ff7f00">Orange</option>
<option value="ffff00">Yellow</option>
<option value="7fff00">Chartreuse</option>
<option value="00ff00">Green</option>
<option value="00ff7f">Spring Green</option>
<option value="00ffff">Cyan</option>
<option value="007fff">Azure</option>
<option value="0000ff">Blue</option>
<option value="7f00ff">Violet</option>
<option value="ff00ff">Magenta</option>
<option value="ff007f">Rose</option>
</select>
我想用它所代表的颜色为选择器中的每个选项着色,以便用户可以看到他们正在选择的颜色。有没有办法做到这一点?
编辑:有人指出,我不清楚我是否希望(理想情况下)在高光上表示这种颜色,这样您就会看到看起来像油漆样本的东西。如果这是不可能的,那么我想至少在选择颜色时将选择器的背景颜色更改为所选颜色的背景颜色。
【问题讨论】:
-
您不能直接设置选项的样式。您必须生成一组替换标记来替换选择框。这是一个如何做到这一点的例子stackoverflow.com/a/20321986/1514572
-
如果你想变得花哨,使用 jQuery 更轻松。使用您的值约定:
$(".form-control option").each(function() { $(this).css("color","#"+$(this).val()); }); -
您应该更新您的问题以提及您希望颜色显示为突出显示。然后添加
javascript和jquery标签,以便有人可以帮助您使用 JS 解决方案,因为仅使用 CSS 无法在高亮上执行此操作。 -
@setek,谢谢。我更新了。
-
@RUJordan,你能给我看看这个工作的小提琴吗?
标签: javascript jquery html css twitter-bootstrap-3