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 One
和array('prompt'=>'Choose One')
时,我会选择array('empty'=>'Choose One')
。
答案 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')); ?>
对我来说一直很好。