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

1 つの問題に直面するまでは、すべて問題ありません。次のような配列があります。

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

$listData (値=>ラベル) の配列です。最初に、配列を調べて (code=>country) 配列を $listData として作成しました。しかし、さまざまな国で同じコードが使用されている可能性があることがわかりました。最初の「2 文字の geo」をキーとして使用でき$listData、一意の配列になります。また、同じ値が必要であるが異なるラベルが必要な場合はどうすればよいですか?


Yii の唯一の解決策は、ラベルを 1 つのキー (値) の下に連結することです。または、純粋な html を使用して、各オプションを個別にエコーします。

4

1 に答える 1

0

これを行う賢明な方法は、新しい ID (INTEGER PRIMARY KEY AUTOINCREMENT) を持つ新しいモデルを使用し、データを別々のフィールド (国、地域、コード) に保持することだと思います。

新しい ID と国のみを使用して配列になるように listdata を作成し、配列が次のようになるようにします。

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

この方法では、ID のみを送信し、受信側でデータ (地域、コード、国) を把握します。


しかし、私はこれについて尋ねなければなりません:

Yii の唯一の解決策は、ラベルを 1 つのキー (値) の下に連結することです。

オプションタグを正確にどのように見せたいですか?

<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 に答える