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 ステートメントが true の場合、レコード数が 0 の場合、テキストを"<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;を黒色のテキストで表示するにはどうすればよいですか?

ありがとう

4

2 に答える 2

2

CSSスタイルを選択に設定するだけです(オプションがない場合)。この場合color: red; 、オプションにも異なる色を設定できます。各オプションに異なる色を設定するだけです。フィドルの例: http://jsfiddle.net/kennypu/CP8Xf/1/

于 2012-12-05T04:29:15.877 に答える
1

<option>CSS で個々のタグのスタイルを設定できるとは思いませんが<select>、@kennypu が指摘するように全体のスタイルを設定できます。

より優れた/より直感的な UI で必要な結果を達成する別の方法は、<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;
}
于 2012-12-05T04:32:04.520 に答える