2017-07-28 11:27:22 1712次浏览 1条回答 0 悬赏 10 金钱

在action传给视图一个数组,array('百度','谷歌')
生成 百度
怎样能生成 百度 呢?

我知道在action中这样写数组array('百度'=>'百度','谷歌'=>'谷歌'),有没有简单的方法?

补充于 2017-07-28 13:09

解决了,我在CHtml类文件里面加了一段代码

捕获.PNG

这样,视图中用<?php echo $form->dropDownList($model,'type',$type,array('key_equal_val'=>true)) ?>

传个key_equal_val=true就行了,
也是相当于把数组写成array('百度'='百度','谷歌'=>'谷歌'),就是不用每次表面上写了

最佳答案

  • mercis 发布于 2017-07-28 12:01 举报

    可以在模型中定义常量
    const XXX(常量名) = [
    '百度'=>'百度',
    '谷歌'=>'谷歌'
    ];
    然后在模板中 ->dropDownList($model::XXX);

    1 条回复
    回复于 2017-07-28 13:04 回复

    我的意思是还用数组array('百度','谷歌'),但是dropDownList()生成的option,value是‘百度’,选项值也是‘百度’

    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
helloWorldTest
助理

helloWorldTest

注册时间:2017-07-26
最后登录:2018-11-05
在线时长:4小时48分
  • 粉丝0
  • 金钱95
  • 威望0
  • 积分135

热门问题