我在Yii中创建的下拉列表存在问题。我想创建一个下拉列表,其中包含以下示例:
<select id="con_id">
<option value="1">Con 1</option>
<option value="2">Con 2</option>
<option value="3">Con 3</option>
<option value="4">Con 4</option>
<option value="5">Con 5</option>
<option value="6">Con 6</option>
<option value="all">--All--</option>
</select>
下拉菜单列表从数据库中获取。下面是我以Yii格式创建的示例代码:
echo $form->dropDownList($model, '_conId', array_merge(CHtml::listData(Consultant::model()->findAll(), 'id', 'name'), array('client_id' => '--All--')));
但是,在Yii中创建的下拉列表的结果如下所示:
<select id="con_id">
<option value="">Con 1</option>
<option value="1">Con 2</option>
<option value="2">Con 3</option>
<option value="3">Con 4</option>
<option value="4">Con 5</option>
<option value="5">Con 6</option>
<option value="all">--All--</option>
</select>
未正确分配选项上的值。任何人都可以帮助我吗?
更新:
不知怎的,我找到了解决方案:
echo $form->dropDownList($model, '_conId', array('all' => '--All--') + CHtml::listData(Consultant::model()->findAll(), 'id', 'name'));
答案 0 :(得分:0)
有空的&#39; CHtml :: listData的选项,您可以在其中设置&#39;空&#39;选项。
以下是使用您的代码的示例:
<?php echo $form->dropDownList(
$model,
'_conId',
CHtml::listData(
Consultant::model()->findAll(),'id','name'), // list all data from model
array('empty'=>'--All--') // set empty data label
); ?>