PEAR::HTML_QuickForm で3階層のプルダウンメニュー

大ジャンル→中ジャンル→小ジャンルと3階層のプルダウンメニューを作りたかったが HTML_QuickForm の hierselect では2階層までしかできない。で。検索したら http://fullmetal.dip.jp/pukiwiki/index.php?%C6%FC%B5%AD%2F2005-03-29 に書いてました。こんな感じ。

< ?php
require_once("HTML/QuickForm.php");
$form=new HTML_QuickForm("myForm");

//一層目
$large_genre[0] = "和食";
$large_genre[1] = "洋食";

//二層目
$middle_genre[0][1] = "日本料理";
$middle_genre[0][2] = "寿司";
$middle_genre[1][3] = "洋食" ;
$middle_genre[1][4] = "フランス料理";
$middle_genre[1][5] = "イタリア料理";
 
//三層目
$small_genre[0][1] = array("会席料理", "懐石料理", "割烹", "料亭");
$small_genre[0][2] = array("江戸前寿司", "回転寿司", "ちらし寿司");
$small_genre[1][3] = array("ステーキ", "洋食一般");
$small_genre[1][4] = array("コース料理", "プリフィクス", "アラカルト");
$small_genre[1][5] = array("コース料理", "ピザ", "パスタ");
 
$obj_genre_select = &$form->addElement("hierselect", "genre", "ジャンル選択", "", "");
$obj_genre_select->setOptions(array($large_genre, $middle_genre, $small_genre));

$form->addElement("submit","sbm","送信");

$form->display();
?>

おぉ。これを応用すれば何階層でも可能だそうです。