HTML - 使用mysql / php生成一个选择框。我怎样才能改变"值"生成的选择框选项?

时间:2015-04-01 21:03:52

标签: javascript php jquery html mysql

所以我的选择框是从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>';   
  }
  ?>

使用“值”的原因是我能够从选择框中自动更改所选选项的颜色。 有没有办法可以做到这一点? 我有两个选择:

  • 节日
  • TBC

这些是在MySQL内部定义的,我知道它们不会消失。所以我想“假期”绿色,然后“TBC”橙色。从我想要的蓝色选择框生成的任何其他值。这是可能的,不确定我是否远离我的深度?

我已经有了更改位于此处的颜色的代码:HTML - changing color in text area from an option inside of a select box generated from mysql

2 个答案:

答案 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';