AS3で2つのコンボボックス(comboBoxコンポーネント)を連携させる

↑のように2つのコンボボックスを連携するときは、dataProviderを指定すると一瞬で出来ます。

//カテゴリの内容
var cbItem:Array=[
{label:"カテゴリ",data:0},
{label:"時間",data:1},
{label:"Flash",data:2},
{label:"ウェブサイト",data:3},
{label:"その他",data:4}
];
//サブカテゴリの内容
var cbItem0:Array = [
{label:"朝",data:0},
{label:"昼",data:1},
{label:"夜",data:2},
{label:"その他",data:3},
];
//サブカテゴリの内容
var cbItem1:Array = [
{label:"AS1",data:0},
{label:"AS2",data:1},
{label:"AS3",data:2},
{label:"その他",data:3}
];
//サブカテゴリの内容
var cbItem2:Array = [
{label:"コーポレート",data:0},
{label:"キャンペーン",data:1},
{label:"ブログパーツ",data:2},
{label:"検索エンジン",data:3},
{label:"ブックマーク",data:4},
{label:"その他",data:10}
];
//サブカテゴリの内容
var cbItem3:Array = [
{label:"その他",data:0}
];
//カテゴリによってサブカテゴリをセットする
function cb_catChange1(e:Event):void {
var d:uint = e.currentTarget.selectedItem.data -1;
cb_2.dataProvider = new DataProvider(this["cbItem"+d]);
}
//カテゴリの初期設定
cb_1.dataProvider = new DataProvider(cbItem);
cb_1.addEventListener(Event.CHANGE,cb_catChange1);

今回のサンプルファイルはこちら(cs3形式 .flaファイル)。

あわせて読みたい


Adobe Flash CS3 詳細! ActionScript3.0入門ノート2 (CD-ROM付)
ActionScript 3.0 プログラミング入門 - for Adobe Flash CS3
ActionScript 3.0 プログラミング入門 – for Adobe Flash CS3

この記事には、カテゴリ AS3 タグは , がつけられています。