BoyLee 2011-09-25 14:33:15 3012次浏览 3条回复 0 0 0
<?php echo $form->dropDownList($product, 'currency_id', Currency::model()->getCurrencyList());?>

getCurrencyList 返回的是类似 array('1'=>CNY, '2'=>USD)的数组; 现在我想对 label部分进行操作 让Yii自动形成类似 CNY(¥) 这样的label,数据库里有对应的字段。

我现在能想到的就是,在 CHtml::listData之前跑一次foreach,做一个tmp field,或者sql输出一个tmp field,有其他办法吗?

比如我读出 id, symbol, shortCode 3个字段,通过listdata or dropDownList来组合?

  • 回复于 2011-09-25 14:38 举报

    listData只能对数据库中字段起作用,如果想重新组合键值的话,只能foreach了。

    还有一种情况我感觉也可以,但是我没试过,可以在sql语句中将字段组合一下,不过这样效率肯定不高,还不如查询出结果,再用foreach重新组合呢!

    个人见解,同求更好的方法!

  • 回复于 2011-09-25 14:55 举报

    我刚发现一个clue, dropDownList htmlOptions里可以指定 options

  • 回复于 2011-09-29 12:58 举报

    字符串合并呢?(对不起,您两次发表间隔少于 180 秒,请不要灌水!)……蛋疼啊!

您需要登录后才可以回复。登录 | 立即注册