giacomo
(G Grazioli)
November 30, 2012, 4:29pm
1
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!
sensorario
(Sensorario)
December 1, 2012, 9:37am
2
Mostrami come lo hai fatto senza widget, e creiamo insieme un widget che estenda dropDownList.
giacomo
(G Grazioli)
December 3, 2012, 2:12pm
3
Va bene
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!