HTML_QuickForm_hierselect クラス概要

HTML_QuickForm_hierselect クラス概要 – 連結した HTML Select 要素を動的に作成するためのクラスで、 各要素の選択によって次の要素の内容が変化する

Description

"連結した" HTML Select 要素を動的に作成するためのクラスです。 最初の <select> を選択すると 2 番目の選択肢の内容が変化し、 それ以降も同様になります。

この要素はグループの一種と考えられます。各 select 要素の名前は groupName[0], groupName[1], ... となります。

データベースのテーブルの内容をもとに hierselect 要素を作成する

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

$form->setDefaults(array('test' => array('4','15')));
$sel =& $form->addElement('hierselect''test''Test:'null'/');

$mainOptions $db->getAssoc('select pkparent, par_desc from parent');

$result $db->query("select fk_parent, pkchild, chi_desc from child");
while (
$result->fetchInto($row)) {
    
$secOptions[$row[0]][$row[1]] = $row[2];
}
// setMainOptions および setSecOptions は廃止予定なので
// setOptions を使用してください

$sel->setOptions(array($mainOptions$secOptions));

$form->display();
?>

2 つより多くの select 要素を組み合わせるのも、これと同様です。

3 つの select 要素からなる hierselect 要素を作成する

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

$select1[0] = 'Pop';
$select1[1] = 'Classical';
$select1[2] = 'Funeral doom';

// 2 番目の select
$select2[0][0] = '--- Artist ---';
$select2[0][1] = 'Red Hot Chil Peppers';
$select2[0][2] = 'The Pixies';
      
$select2[1][0] = '--- Artist ---';
$select2[1][1] = 'Wagner';
$select2[1][2] = 'Strauss';
      
$select2[2][0] = '--- Artist ---';
$select2[2][1] = 'Pantheist';
$select2[2][2] = 'Skepticism';
     
// 3 番目の select で、CD の価格を指定します
$select3[0][0][0] = '--- Choose the artist ---';
$select3[0][1][0] = '15.00$';
$select3[0][2][1] = '17.00$';
$select3[1][0][0] = '--- Choose the artist ---';
$select3[1][1][0] = '15.00$';
$select3[1][2][1] = '17.00$';
$select3[2][0][0] = '--- Choose the artist ---';
$select3[2][1][0] = '15.00$';
$select3[2][2][1] = '17.00$';     

// 要素を作成します
$sel =& $form->addElement('hierselect''cds''Choose CD:');

// そして選択肢を追加します
$sel->setOptions(array($select1$select2$select3));

$form->display();
?>

HTML_QuickForm_hierselect のクラス階層

HTML_QuickForm_hierselect が継承しているメソッド

HTML_QuickForm_group から継承したもの
メソッド名 概要
コンストラクタ HTML_QuickForm_group::HTML_QuickForm_group() クラスのコンストラクタ
HTML_QuickForm_group::accept() レンダラを受け入れる
HTML_QuickForm_group::exportValue() 通常は、グループの値を取得するには個々の要素に対してアクセスする
HTML_QuickForm_group::getElementName() html フォーム中に見られる、グループ内の要素名を返す
HTML_QuickForm_group::getElements() グループ化された要素群を取得する
HTML_QuickForm_group::getFrozenHtml() HTML タグを含めずにフィールドの値を返す
HTML_QuickForm_group::getGroupType() グループ内の要素の型を取得する。複数の型の要素から構成されている場合は 'mixed' を返す
HTML_QuickForm_group::getName() グループ名を返す
HTML_QuickForm_group::getValue() グループの値を返す
HTML_QuickForm_group::onQuickFormEvent() この要素上でイベントが発生した場合に HTML_QuickForm からコールされる
HTML_QuickForm_group::setElements() グループ化された要素群を設定する
HTML_QuickForm_group::setName() グループ名を設定する
HTML_QuickForm_group::setValue() グループの要素の値を設定する
HTML_QuickForm_element から継承したもの
メソッド名 概要
Constructor HTML_QuickForm_element::HTML_QuickForm_element() クラスのコンストラクタ
HTML_QuickForm_element::accept() レンダラを受け入れる
HTML_QuickForm_element::apiVersion() 現在の API のバージョンを返す
HTML_QuickForm_element::exportValue() '安全な' 要素の値を返す
HTML_QuickForm_element::freeze() 要素を凍結し、その値のみを返す
HTML_QuickForm_element::getFrozenHtml() HTML タグを含めずにフィールドの値を返す
HTML_QuickForm_element::getLabel() 要素の表示テキストを返す
HTML_QuickForm_element::getName() 要素名を返す
HTML_QuickForm_element::getType() 要素の型を返す
HTML_QuickForm_element::getValue() フォーム要素の値を返す
HTML_QuickForm_element::isFrozen() 要素が凍結されているかどうかを返す
HTML_QuickForm_element::onQuickFormEvent() この要素上でイベントが発生した場合に HTML_QuickForm からコールされる
HTML_QuickForm_element::setLabel() 要素の表示テキストを設定する
HTML_QuickForm_element::setName() 入力フィールドの名前を設定する
HTML_QuickForm_element::setPersistantFreeze() 要素の値を、それが凍結されているかどうかにかかわらず hidden フィールドに保持し続けるかどうかを設定する
HTML_QuickForm_element::setValue() フォーム要素の値を設定する
HTML_QuickForm_element::unfreeze() フォーム要素の凍結を解除する