2013-03-10 6 views
3

J'utilise Yii 1.1.10. Je voudrais savoir comment ajouter une classe CSS à une liste déroulante. J'utilise un CActiveFormYii: Comment ajouter une classe CSS à une liste déroulante

par exemple, comment ajouter une classe CSS à cette liste déroulante?

<?php echo $form->labelEx($model,'chassis'); ?> 
<?php echo $form->dropDownList($model, 'chassis', 
     array('saloon' => 'saloon', 'station wagon' => 'station wagon',), 
    ); 
?> 

EDIT: Je eu cela dans mon code

array('empty' => 'Select one of the following...') 

je l'avais là pour rendre le message par défaut. mais en quelque sorte qu'elle porte atteinte à l'aide

'htmlOptions'=>array('class'=>'yourCssClass') 

OU

array('class'=>'your_class_name') 

aussi longtemps que je le supprimer, les deux suggestions de travail! Merci les gars

+0

P.S Pour utiliser une utilisation de l'espace réservé 'prompt' au lieu de' empty' – topher

Répondre

3

Vous pouvez utiliser l'argument htmlOptions de CActiveFrom::dropDownList() pour spécifier class, style ou d'autres attributs HTML.

<?php echo $form->labelEx($model,'chassis'); ?> 
<?php echo $form->dropDownList($model, 'chassis', 
     array('saloon' => 'saloon', 'station wagon' => 'station wagon',), 
     array('class'=>'your_class_name'), 
    ); 
?> 
+0

je l'ai essayé, mais ça ne fonctionne pas; J'ai utilisé chrome et inspecté la liste déroulante et pas de classe ... que suggérez-vous .. –

+0

vous obtenez une classe dans l'étiquette de sélection. voulez-vous une classe sur chaque étiquette d'option? – dInGd0nG

+0

ok ça marche. Ça fonctionnait parce que j'avais sth. supplémentaire ajouté que j'ai omis dans ma question ... ive fait un montage dans ma question afin que vous puissiez le voir .. @ naselorm samething, votre suggestion fonctionne trop merci les gars .. –

1

C'est la syntaxe pour DROPDOWNLIST selon Yiiframework API

public string dropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ()) 

La dernière partie permet de transmettre toutes les valeurs html comme vous le feriez normalement dans un html page.Thus ajouter cette après break ,

'htmlOptions'=>array('class'=>'yourCssClass'), 
0

Les valeurs de tableau sont affichées et les clés de tableau sont stockées.

Ceci est un code modèle.

public function getCityOptions() 
{ 
    $list=array('saloon' => 'saloon', 'station wagon' => 'station wagon',); 
    asort($list); 
    return $list; 
} 

Ce code _form.php

<div class="row"> 
<?php echo $form->labelEx($model,'chassis'); ?> 
<?php echo $form->dropDownList($model,'chassis',$model->getCityOptions()); ?> 
<?php echo $form->error($model,'chassis'); ?> 
</div> 

essayer ..

0

Ceci est une réponse. :)

<?php echo $form->labelEx($model,'chassis'); ?> 
<?php echo $form->dropDownList($model, 'chassis', 
    array('saloon' => 'saloon', 'station wagon' => 'station wagon',), 
    array('class'=>'form-control','empty' => 'Select one of the following...') 
); 
?> 
Questions connexes