Dropdownlist Option Styling

Ciao a tutti, per la creazione di una dropdown utilizzo




$form->dropDownList



dove $form è un widget CActiveForm. Avrei la necessità di assegnare ad ogni option un background differente, assegnandogli una classe basandomi sul valore dell’id, per ottenere qualcosa come





<select>

<option value="1" selected="selected" class="option a">A</option>

<option value="2" class"option b">B</option>

<option value="3" class="option c">C</option>

</select>



e poi con il css vado ad assegnare i colori alle classi assegnate.

Realizzarlo senza il widget non è un problema, solo che volevo capire se era in qualche modo fattibile realizzarlo con dropDownList.

Grazie!

Mostrami come lo hai fatto senza widget, e creiamo insieme un widget che estenda dropDownList.

Va bene :D

Codice senza widget:




    <select>

        <?php

        $options = Comment::getStatuses();      

        foreach ($options as $key => $value) {

            switch ($key) {

                case '1':

                    $class = 'a';

                    break;

                case '2':

                    $class = 'b';

                    break;

                case '3':

                    $class = 'c';

                    break;

            }

            //$model->status è il valore di status del commento corrente

            if($key == $model->status)

                $selected = "selected = 'selected'";

            else

                $selected = '';


            echo "<option value='".$key."' class='".$class."' ".$selected.">".$value."</option>";

        }

        ?>

    </select>



Grazie!

Aiuuuuto :)