我在my _form模型中有一个下拉列表,我想添加一个空值(我想作为默认值)。我有以下内容:
表单(_F):
<?php echo $form->labelEx($model,'country_id'); ?>
<?php echo $form->dropDownList($model,'country_id',Country::items(),array('empty' => '--Select a country--')); ?>
<?php echo $form->error($model,'country_id'); ?>
在示范国家:
public static function items()
{
return CHtml::listData(Country::model()->findAllBySql(
'SELECT * from country'),
'id', 'name');
}
即使我的空选项是在第一行的下拉列表,第一个国家在列表中显示为默认。
我试探着:
<?php echo $form->dropDownList($model,'country_id',
Country::items(),array('empty'=>'--Select a country--',
'options'=>
array(
'3'=>array('selected'=>'selected')
)
));
?>
这样我可以选择默认选项,但不能将其设置为空值,只能设置来自model:items的国家。
你知道吗?
5条答案
按热度按时间amrnrhlw1#
当您打印下拉列表时,您确定您的模型的
country_id
属性没有设置为任何值吗?如果使用new Country()
运算符创建$model
示例,而不是通过从数据库填充属性来创建,则下面的方法对我有效:hvvq6cgz2#
阅读文档。有'prompt'参数。
试试看:
请在此处查看更多详细信息http://www.yiiframework.com/forum/index.php/topic/11195-how-to-edit-the-default-option-in-dropdownlist/
at0kjp5o3#
您总是可以在
items
方法中执行类似array_merge的操作svgewumm4#
我相信您正在寻找:
js81xvg65#
如果你使用yiibooster,也许这会有帮助
在我的情况下,它是有效的