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

一切都很好,直到我遇到一个问题。我有一个数组,如下所示:

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

$listData 是(值=>标签)的数组。首先,我遍历数组并将 (code=>country) 数组设为 $listData。但是我发现不同的国家可能有相同的代码。我可以使用第一个“两个字母地理”作为键,并且$listData将是一个唯一的数组。如果我需要相同的值但使用不同的标签怎么办?


似乎唯一的 Yii 解决方案是将标签连接到一个键(值)下。或者使用纯 html 并单独回显每个选项。

4

1 回答 1

0

我认为明智的做法是使用新模型,使用新 id(整数主键自动增量),并将数据保存在单独的字段(国家、地理、代码)中。

仅使用新的 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'),
    ...
);
于 2013-08-29T01:42:42.687 回答