Php 在Yii中设置下拉列表中每个选项的样式

Php 在Yii中设置下拉列表中每个选项的样式,php,yii,html-select,Php,Yii,Html Select,我有一个下拉列表 $Customer=Customer::getDecisionMakingCompany(); $div_topic.= CHtml::dropDownList('picks_customer_id',"picks_customer_id",$Customer,array('multiple'=>true)); 列表来自模型 public static function getDecisionMakingCompany() { $conditio

我有一个下拉列表

    $Customer=Customer::getDecisionMakingCompany();
    $div_topic.= CHtml::dropDownList('picks_customer_id',"picks_customer_id",$Customer,array('multiple'=>true));
列表来自模型

public static function getDecisionMakingCompany() {
    $condition = 'status=  "Y" AND type=1';
    $model = self::model()->findAll(array('condition' => $condition,'order'=>'customer_name'));
    return CHtml::listData($model, 'id', 'customer_name');
}

每个客户在数据库中都有一个颜色。如何将该颜色赋予选项文本。请提供帮助。

我认为您可以通过以下方式为每个值设置htmlOption:

$Customer=Customer::getDecisionMakingCompany();
$div_topic.= CHtml::dropDownList('picks_customer_id',"picks_customer_id",
      $Customer,array('multiple'=>true, 
          array( 'value1'=>array('style'=>'color: yourColor1', ),   
                 'value2'=>array('style'=>'color: yourColor2'),
           ));

请在模型和视图文件中进行以下更改:

查看文件 模型文件 希望这对你有帮助!如果有任何问题,请告诉我

$Customer = Customer::getDecisionMakingCompany();

echo CHtml::tag('select', array('id' => 'picks_customer_id', 'name' => 'picks_customer_id[]', 'multiple' => true));

if (!empty($Customer)) {
        foreach ($Customer as $index => $cust) {        
                echo CHtml::tag('option', array('value' => $cust->id, 'style' => 'color:' . $cust->color), $CHtml::encode($cust->customer_name), true);
        }
}
public static function getDecisionMakingCompany() {
    $condition = 'status=""Y"" AND type=1';
    $model = self::model()->findAll(array('condition' => $condition, 'order'=>'customer_name'));
    return $model;
}