2011-05-02 56 views
0

在选择框中突出显示选项值如果记录包含值为状态“Y” iam循环并在选择框中显示选项比我必须显示选项红色我如何使用php

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>"; 

这里,如果我们的状态为“Y”,而不是我们要突出显示的整个选项。我用字体标签,但它不工作,你可以告诉我们该怎么办

回答

4

这与HTML,而不是PHP。设置<option>selected属性。

你的情况:

if($rows['status'] == "Y") { 
    echo '<option selected="selected" .... 
} 
+0

Jason:我在哪写 – Someone 2011-05-02 20:34:00

+0

明白了,但是我可以应用红色选择的颜色 – Someone 2011-05-02 20:35:26

+1

是的,这与CSS有关。但是,选择元素的默认样式很麻烦,因为它们通常由操作系统而不是浏览器管理。 – 2011-05-02 20:42:44

0

请只看上生成的HTML源代码。你的问题实际上与php无关。使用浏览器的源代码视图或使用萤火虫来确定为什么你的html属性/ css风格不适用。

0

德比,你正在使用风格属性错误的方式。在style属性里面,你可以指定“inline”CSS,只要按照一般的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>"; 

但请注意,贾森已经说过,这下拉框通常由操作系统来处理,所以这种风格可能适用,但没有官方的方式来设计下拉式元素。

有关如何使用内联样式表的更多信息,请参阅here