2012-12-05 59 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; 
} 
相關問題