2016-04-15 91 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