我编写了以下代码,使用CActiveForm在Yii中创建一个下拉列表,但是它给了我一个错误“htmlspecialchars()期望参数1是字符串,给定数组”。
echo form->dropDownList($model,'user_id',array('All'=>'All','Members'=>'Members','BusinessUsers'=>'BusinessUsers','SelectedUsers'=>'SelectedUsers'),array('htmlOptions'=>array('name'=>'dd',)));
答案 0 :(得分:0)
这是因为您传递此下拉列表的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将根据您的模型名称和name
生成user_id
属性。如果您更改name
,分配POST发送的数据可能会搞砸!