Yii中下拉选项的默认值

时间:2012-08-24 06:41:19

标签: php yii

dropdown中的Yii选项就像这样

<?php echo $form->dropdownList($students,'student_name', CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name'), array('selected'=>'Choose One')); ?>

哪个html output是这样的

<select selected="selected" name="Students[student_name]" id="Students_student_name">
<option value="Alex">Alex</option>
<option value="John">John</option>
<option value="Johny">Johny</option>
<option value="" selected="selected"></option>
</select> 

但我希望Select One应该是default selected value for the dropdown options。因此,默认情况下,如果没有选择任何选项,则会Select One

[UPDATE]

当我尝试Select Onearray('prompt'=>'Choose One')时,我会选择array('empty'=>'Choose One')

3 个答案:

答案 0 :(得分:5)

我认为您使用了错误的密钥作为默认选择值。

尝试:

// array('prompt'=>'Choose One')
echo $form->dropdownList($students,'student_name', CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name'), array('prompt'=>'Choose One')); ?>

答案 1 :(得分:2)

使用名为empty

的属性
echo $form->dropdownList(
    $students,
    'student_name', 
     CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name'),   
     array('empty'=>'Choose One') // boom!
);

答案 2 :(得分:1)

如果需要这样做,我只需添加到listData生成的数组。

<?php echo $form->dropdownList($students,'student_name', array(''=>'Select One') + CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name')); ?>

对我来说一直很好。