Yii过滤CHtml :: dropDownList组结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii过滤CHtml :: dropDownList组结果相关的知识,希望对你有一定的参考价值。
我使用Chtml :: dropDownList作为Yii中一列的过滤器
array(
'name' => 'type',
'value' => '$data->getDay()',
'filter'=>CHtml::dropDownList(
'work[day]',
$work->day,
$this->t(Work::$days),
array('prompt'=>$this->t('All'),'class'=>'form-control'))
);
选项列表如下
Work::$days = array('weekday' => 'Weekday', 'weekend' => 'Weekend');
如何使用这两个选项进行过滤
array('Monday', 'Tuesday' ...);
答案
你只需要研究两件事
- 您的型号名称是
Work
而不是work
,yii以相同的格式生成与表格或过滤器输入相关的字段,即Modelname[fieldname]
。 这是一个很好的做法,如果您手动提供字段名称并且字段与活动记录相关,则应使用Model::class
打印类名而不是手动键入。 然后将空值作为选定值传递,以便默认显示所有记录,并且下拉列表中选择了占位符All
- 您是否将
type
字段中的值保存为Monday
或monday
。 如果是星期一那么你必须将$days
数组更改为Work::$days=array('Monday'=>'Monday','Tuesday'=>'Tuesday')
,否则它保持原样。
所以你的列定义如下所示
array(
'name' => 'type',
'value' => '$data->getDay()',
'filter'=>CHtml::dropDownList(
Work::class.'[name]',
'',
$this->t(Work::$days),
array('prompt'=>$this->t('All'),'class'=>'form-control'))
);
希望这开始为你工作。
以上是关于Yii过滤CHtml :: dropDownList组结果的主要内容,如果未能解决你的问题,请参考以下文章
Yii+datepicker bootstrap 如何更新网格
防止在 Yii 框架上使用 ajaxButton/ajaxSubmitButton 加载 jQuery 资产