2

私はこのように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 optionsSelect One

[アップデート]

試してSelect Oneみたところオプションとしても取ってあります。array('prompt'=>'Choose One')array('empty'=>'Choose One')

4

3 に答える 3

5

デフォルトで選択されている値に間違ったキーを使用していると思います。

試す:

// array('prompt'=>'Choose One')
echo $form->dropdownList($students,'student_name', CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name'), array('prompt'=>'Choose One')); ?>
于 2012-08-24T06:43:38.437 に答える
2

名前の付いた属性を使用empty

echo $form->dropdownList(
    $students,
    'student_name', 
     CHtml::listData(Students::model()->findAll(), 'student_name', 'student_name'),   
     array('empty'=>'Choose One') // boom!
);
于 2012-08-24T06:50:33.087 に答える
1

これを行う必要がある場合は、listData によって生成された配列に追加するだけです。

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

私にとってはいつもうまくいきました。

于 2012-08-29T18:13:59.267 に答える