我有记录集,其中我循环并在选择框中显示选项,如果记录包含一个值作为状态"Y"然后我要用红色
显示这个选项echo "<select name='select1' size='10' multiple >";
foreach ($this->arr['record'] as $rows) {
if($rows['status'] == "Y"){
echo "<option value='". $rows['COLA'] . '*' . $rows['COLB'] . "' bgcolor='#ff0000' style = 'bgcolor=red;font-size=5'>".$rows['COLC'].":".$rows['COLD'].":".$rows['COLE'].":".$rows['COLF'].":".$rows['COLG']." </option>";
}else{
echo "<option value='". $rows['COLA'] . '*' . $rows['COLB'] . "' bgcolor='#ff0000' style = 'bgcolor=red;font-size=5'>".$rows['COLC'].":".$rows['COLD'].":".$rows['COLE'].":".$rows['COLF'].":".$rows['COLG']." </option>";
}
}
echo "</select>";
在这里,如果我们将status设置为"Y",那么我们希望突出显示整个选项。我使用了字体标签,但它不起作用你能告诉我们该怎么做吗
这与HTML有关,而不是PHP。为<option>
设置selected
属性
在你的例子中:
if($rows['status'] == "Y") {
echo '<option selected="selected" ....
}
请查看生成的HTML源代码。你的问题与php无关。使用浏览器的源代码视图或使用firebug来确定为什么没有应用html属性/css样式。
Derby,您错误地使用了style属性。在style属性中,你可以根据一般的CSS规则指定"inline" CSS。
因此,根据您的需要,使用以下代码将选中的项目用红色突出显示:
echo "<option value='". $rows['COLA'] . '*' . $rows['COLB'] . "' style='background-color: red; font-size: 5pt'>".$rows['COLC'].":".$rows['COLD'].":".$rows['COLE'].":".$rows['COLF'].":".$rows['COLG']." </option>";
但是请注意,正如Jason已经说过的,下拉框通常是由操作系统处理的,所以这种风格可以应用,但是没有官方的方法来定义下拉元素的样式。
更多关于如何使用内联样式表的信息可以在这里找到。