在 Yii 应用程序中,我有模型User
和Expert
( 'expert'=>array(self::BELONGS_TO, 'Expert', 'expert_id'),
)。
有一个用于创建/编辑用户数据的表单。现在我想用一个下拉列表来扩展它:
<?php
/**
* @var $experts Expert[]
*/
$expertsDropDownListData = array();
foreach ($experts as $expert) {
$expertsDropDownListData[$expert->id] = $expert->name;
}
?>
<div class="row">
<?php
echo $form->labelEx($user, '', array('label' => Yii::t('app', 'Some text...')));
?>
<?php
echo $form->dropDownList(
$user, 'expert[id]', $expertsDropDownListData,
array(
'empty' => Yii::t('app', 'Please select an expert.'),
// 'options' => array('' => array('selected' => 'selected')),
// 'prompt'=>'Choose One',
)
);
?>
<?php echo $form->error($user, 'expert[id]'); ?>
</div>
我希望下拉列表永远不要将专家条目作为默认条目。在页面加载时,总是应该“选择”空值。它适用于没有相关专家的用户页面(users
表格中的列expert_id
是NULL
)。但是在有专家的用户页面上,用户的专家条目得到selected
。
无论表/对象关系如何,如何允许CActiveForm
对象选择一个antry并显示没有预值的表单?selected