如何在选择框中使用php突出显示选项值


How do i highlight the option value in select box using php

我有记录集,其中我循环并在选择框中显示选项,如果记录包含一个值作为状态"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']."&nbsp;</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']."&nbsp;</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']."&nbsp;</option>";

但是请注意,正如Jason已经说过的,下拉框通常是由操作系统处理的,所以这种风格可以应用,但是没有官方的方法来定义下拉元素的样式。

更多关于如何使用内联样式表的信息可以在这里找到。