Yii CHtml :: dropDownList。不同标签下的值相同

时间:2013-08-28 15:17:39

标签: yii html-select

CHtml::dropDownList('name','select',$listData,$htmlOptions);

在遇到一个问题之前,一切都很好。我有一个数组,看起来像这样:

array(
    array('ua', 'Ukraine', '380'),
    array('ru', 'Russia', '7'),
...
    array('kz', 'Kazakhstan', '7'),
);

$listData是(value =>标签)的数组。首先,我走过数组并将(code => country)数组作为$ listData。但我发现不同的国家可能有相同的代码。我可以使用第一个“双字母地理”作为键,$listData将是一个唯一的数组。 什么如果我需要相同的价值,但在不同的标签下


似乎唯一的Yii解决方案是在一个键(值)下连接标签。 或者使用纯HTML并分别回显每个选项。

1 个答案:

答案 0 :(得分:0)

我认为这样做的合理方法是使用新模型,使用新ID(INTEGER PRIMARY KEY AUTOINCREMENT),并将数据保存在单独的字段中(国家,地理位置,代码。)

使用新的id和国家/地区创建listdata为数组,因此数组看起来像这样:

array( 0=>'Ukraine', 1=>'Russia', 2=>'Kazakhstan' );

这样你只会发送id,并找出接收方的数据(地理位置,代码,国家)。


但我必须问一下:

  

似乎唯一的Yii解决方案是在一个键(值)下连接标签。

您希望选项标签看起来如何?

<option value="ua" code="380">Ukraine</option>  // Like this? 

然后你应该设置类似的htmlOptions:

array(
    'ua'=>array('code'=>'380'),
    'ru'=>array('code'=>'7'),
    ...
);