所以我的选择框是从mysql(php)生成的,这意味着我无法像这样插入一个“值”(据我所知):
<option value="CCFFFF">light blue
我的选择框生成如下:
?php
if (mysql_num_rows($result)!=0)
{
echo '<select onChange="updateColor(this.options[this.selectedIndex].value);" name="sunday combo" id="Suncombo2">
<option value= " " selected="selected">Please Select</option>';
while ($test = mysql_fetch_array( $result ))
{
echo '<option value="'.$test['am_task'].'">'.$test['am_task'].'</option>';
}
echo '</select>';
}
?>
使用“值”的原因是我能够从选择框中自动更改所选选项的颜色。 有没有办法可以做到这一点? 我有两个选择:
这些是在MySQL内部定义的,我知道它们不会消失。所以我想“假期”绿色,然后“TBC”橙色。从我想要的蓝色选择框生成的任何其他值。这是可能的,不确定我是否远离我的深度?
我已经有了更改位于此处的颜色的代码:HTML - changing color in text area from an option inside of a select box generated from mysql
答案 0 :(得分:0)
假设你的sql表中有一个字段命名为“color”,那么你的sql会是这样的:
select color,am_task from mytable
以及打印选项时:
echo '<option value="'.htmlspecialchars($test['color']).'">'.htmlspecialchars($test['am_task']).'</option>';
答案 1 :(得分:0)
使用db中的两个不同字段,一个用于值,一个用于显示名称:
echo '<option value="'.$test['am_color'].'">'.htmlspecialchars($test['am_task'], ENT_QUOTES).'</option>';
我假设你还没有这个字段,所以显然你需要使用类似的东西来添加它(除非你有一个用于编辑表模式的GUI):
alter table am_dropdown add am_color varchar(20);
然后更新记录以将颜色与任务名称配对:
update am_dropdown set am_color='green' where am_task='holiday';