2012-12-05 42 views
0

我有它显示一个多选择框,显示的选项取决于代码部分的if语句:如何在不同选项的选择框显示不同的颜色

$moduleSELECT = '<select name="moduletextarea" id="moduleselect" size="10">'.PHP_EOL;  

if($modulenum == 0){ 

$moduleSELECT .= "<option disabled='disabled' value=''>No Modules currently on this Course</option>"; 


}else{ 

while ($currentmodstmt->fetch()) { 

$moduleSELECT .= sprintf("<option disabled='disabled' value='%s'>%s - %s</option>", $dbModuleId, $dbModuleNo, $dbModuleName) . PHP_EOL; 
} 

} 

$moduleSELECT .= '</select>'; 

现在从做一些研究在互联网上,我认为在选项标签中包含标签是不好的做法。所以我的问题是,如果if语句在0中的记录数为true的情况下,我如何以红色显示"<option disabled='disabled' value=''>No Modules currently on this Course</option>";的文本,并且如果符合else语句,我怎样才能在黑色文本中显示这些选项sprintf("<option disabled='disabled' value='%s'>%s - %s</option>", $dbModuleId, $dbModuleNo, $dbModuleName) . PHP_EOL;

感谢

回答

2

只设置一个css样式选择(如果有任何选项),在这种情况下color: red; 你也可以有也,只设置每个选项不同的颜色选择不同的颜色。示例小提琴在这里:http://jsfiddle.net/kennypu/CP8Xf/1/

+0

给予好评和最好的答案,不知道你可以把一类的选项标签,但你出,你可以 – Manixman

1

我不相信你可以使用CSS来设计个人<option>标签,但是你可以将整个<select>标记为@kennypu指出的样式。

另一种通过更好/更直观的用户界面来实现所需结果的方法可能是在实际有数据放入其中时仅输出<select>标记。当$modulenum == 0也许你应该输出一些不同的HTML,你可以正确的风格。

HTML

<div class='no-data'>No Modules currently on this Course</div> 

CSS

.no-data{ 
    background-color: #CCC; 
    color: red; 
    padding: 5px; 
} 
相关问题