2016-04-15 90 views
1

我已经写了下面的代码来使用CActiveForm在Yii中创建一个下拉列表,但它给了我一个错误“htmlspecialchars()期望参数1是字符串,给定的数组”。在yii中的下拉列表不起作用

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将根据您的型号名称和user_id生成name属性。如果更改name,则可能会分配由POST发送的数据!

+0

谢谢.....我想通了最终.... – coach

+0

所以,如果这篇文章被接受,请接受这个aswer :) – aslawin

+0

我是新来的stackoverflow .....请告诉我怎么能做到这一点? – coach