Yii 生成表单下拉选框及查询下拉选框
2024-10-17 01:38:18
CHtml类参考:
http://www.yiichina.com/api/CHtml#activeDropDownList-detail
activeDropDownList() 方法
public static string activeDropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))
|
||
$model | CModel | 数据模型 |
$attribute | string | 属性 |
$data | array | 生成列表选项的数据(值=>显示) 你可以使用listData来生成这个数据。请参阅listOptions来了解这个数据如何生成列表数据。注意,这里的值个标签会自动被这个方法进行HTML编码。 |
$htmlOptions | array | 附加的HTML属性。除了正常的HTML属性外,一些特殊的属性也是可以的(请参阅clientChange和tag来了解更多详细信息。) 此外,下面的这属性也被支持:
|
{return} | string | 生成的下拉列表 |
源码: framework/web/helpers/CHtml.php#1399 (显示)
为一个模型属性生成一个下拉列表。 如果该属性有输入错误, 输入栏的CSS类会被附加上errorCss。
listData() 方法
public static array listData(array $models, string $valueField, string $textField, string $groupField='')
|
||
$models | array | 模型对象的列表。 这个参数也可以是一个关联的数组(例如CDbCommand::queryAll的结果)。 |
$valueField | string | 列表选项值的属性名 |
$textField | string | 列表选项文本的属性名 |
$groupField | string | 列表选项组的属性名。如果是空,将不会生成组。 |
{return} | array | 可用于dropDownList, listBox等的列表数据。 |
为列表型HTML元素生成适当的数据。 生成的数据可用于dropDownList, listBox, checkBoxList, radioButtonList,和它们的加强版(比如activeDropDownList). 注意,这个方法不会对生成的数据HTML编码。 如果需要的话你可以调用encodeArray来给它编码。 请参阅value方法来了解如何指定值字段,文本字段以及组字段。
下面上代码:
生成下拉列表
Model中:
public function getRoleList()
{
$returnArr = $this->findAll();
return CHtml::listData($returnArr, 'role', 'role'); //后两项为字段名,分别对应option的value和name
//return CHtml::listData($returnArr, 'cat_id', 'cat_name'); /*
//如果不使用CHtml::listData,也可以手动生成如下形式的数组
$returnArr = array(
'admin' => '管理员',
'user' => '普通用户',
);
return $returnArr;
*/
}
View中:
<div class="row">
<?php echo $form->dropDownList($model,'role',User::model()->getRoleList(), array('prompt'=>'-请选择角色-')); ?>
</div>
完整示例:
form表单
下拉列表
Views中:
<?php echo $form->dropDownList($model,'cate_id',Category::model()->getCategoryList()); ?>
Models中:
public function getCategoryList()
{
$returnArr = $this->findAll();
return CHtml::listData($returnArr, 'cate_id', 'cate_name');
} 查询列表
Models中:
public function getCateName($id)
{
$currCate = $this->findByAttributes(array('cate_id'=>$id));
return $currCate->cate_name;
}
Views中: (admin.php)
//'cate_id',
array('name'=>'cate_id', 'value'=>'Category::model()->getCateName($data->cate_id)', 'filter'=>Category::model()->getCategoryList()),
生成多级联动下拉菜单请参考:
http://blog.csdn.net/dreamzml/article/details/8642229
http://www.jems.me/blog/web/84-yii-create-dropdown-lists-for-related-ar.html
http://blog.csdn.net/littlebearwmx/article/details/8566368
http://qoophp.com/archives/237
最新文章
- ORACLE RAISE
- python中的metaclass
- uname
- PHP代码审计】 那些年我们一起挖掘SQL注入 - 1.什么都没过滤的入门情况
- 【CSS3】---颜色RGBA及渐变色
- 【工作记录】android手势事件操作记录
- 如何监控 Tomcat?Zabbix 与 Cloud Insight 对比
- -_-#ueditor编辑器chrome浏览器下只能复制最后一行
- 如何完全卸载SQL Server 2005
- 模糊系统架构和简单实现--AForge.NET框架的使用(四)
- C#冒泡泡算法
- JDBC_批量处理语句提高处理速度
- thinkphp 注册验证
- 201521123083《Java程序设计》第11周学习总结
- spring之AspectJ基于注解 AOP编程
- 【转】python3 urllib.request 网络请求操作
- NIagara Workbench ( 温度控制)
- 29.求3x3的整数矩阵对角线元素之和
- 【PAT】B1078 字符串压缩与解压(20 分)
- Python 全栈开发一 python初识
热门文章
- 隐性改变display类型
- shell中case的用法学习笔记
- IEngineEditor与IWorkspaceEdit,以及相关的事件监听
- Swift2.0新特性
- 关于回波损耗 和 驻波比的摘要 Return Loss and VSWR
- 基于h5+ajax实现的手机定位
- bzoj 2706: [SDOI2012]棋盘覆盖 Dancing Link
- hdu 3072
- 李洪强iOS开发之-环信02.1_环信 SDK 2.x到3.0升级文档
- Win7新建ftp快捷方式(原XP网上邻居中客户端图标)