yii中的下拉列表

时间:2014-08-21 08:43:59

标签: php select yii

我在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')); 

1 个答案:

答案 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
); ?>