我已经编写了以下代码,使用CActiveForm在Yii中创建了一个下拉列表,但它给了我一个错误"htmlspecialchar()期望参数1是字符串,给定数组"。
echo form->dropDownList($model,'user_id',array('All'=>'All','Members'=>'Members','BusinessUsers'=>'BusinessUsers','SelectedUsers'=>'SelectedUsers'),array('htmlOptions'=>array('name'=>'dd',)));
这是因为您传递的下拉菜单的HTML选项不正确。代替:
echo form->dropDownList($model,'user_id',array('All'=>'All','Members'=>'Members','BusinessUsers'=>'BusinessUsers','SelectedUsers'=>'SelectedUsers'),array('htmlOptions'=>array('name'=>'dd',)));
你需要使用这个:
echo form->dropDownList($model, 'user_id', array('All'=>'All','Members'=>'Members','BusinessUsers'=>'BusinessUsers','SelectedUsers'=>'SelectedUsers'), array('name'=>'dd'));
注意:
为什么要设置name
属性?请记住,您正在使用CActiveForm
将表单与$model
连接起来。在这种情况下,Yii将根据您的型号名称和user_id
生成name
属性。如果更改name
,POST发送的数据分配可能会出错!