如何使用Yii框架CHtml类生成城市下拉选择框

jerry Yii 2015年08月09日 收藏
/** Controller **/  
$provices = array(  
    1 => '北京',  
    2 => '上海',  
    3 => '天津',  
    4 => '武汉'  
);  
$this->render( 'view', array( 'provices' => $provices, 'selected' => 2 );

输出

/** View **/  
echo CHtml::dropDownList( 'provices', $selected, $provices );

自定义class

echo CHtml::dropDownList( 'provices', $selected, $provices, array( 'id' => 'provices', 'class' => 'g-left') );

程序的完全说明如下:

publicstatic string dropDownList(string$name, string $select, array $data, array $htmlOptions=array ( ))

$name

string

下拉列表的名称

$select

string

被选中的值

$data

array

用来生成列表选项的数据(=>显示).你可以使用listData来生这个数据。请参考listOptions来了解这个数据如何生成列表选项。注意,这个方法会自动的将值和标签HTML编码。

$htmlOptions

array

附加的HTML属性。除了正常的HTML属性外,一些特殊的属性也是可以的(请参阅clientChangetag来了解更多详细信息。)此外,下面这些选项也被下拉列表所支持:

encode:布尔值,指定是否对值进行编码。默认为true

prompt:字符串,指定作为第一个列表项的提示文本,它的值是空的。注意,提示文本不会被HTML编码。

empty:字符串,指定空选项的文本,它的值是空的。‘empty’选项也可以是一个值-标签对的数组。每一对都将在一开始渲染为一个列表选项。注意,文本标签不会被HTML编码。

options:数组,每个option标签的指定附加属性。数组的键名必须是option的值,数组的键值是option标签的附加的属性。例如,

array(
'value1'=>array('disabled'=>true,'label'=>'value 1'),

'value2'=>array('label'=>'value2'),

);


{return}

string

生成的下拉列表