RadPHP XEでQRadioGroupを使い方法。
QRadioGroupButtonはラジオボタンをグループ化したコンポーネントです。
複数の選択肢から一つの項目を選ぶ時に使用します。
※RPCLはRevision 291を使用しました。
参考:RPCL(RadPHP Component Library) の最新版について
■選択肢の登録
QRadioGroupButtonに選択肢を登録するには、Itemsプロパティに選択肢の配列を設定します。
$this->QRadioGroup1->writeItems(array('RadPHP XE', 'Delphi XE', 'C++Builder XE'));
■選択項目の初期値の設定
初期状態で選択されている項目を設定するには、ItemIndexプロパティに選択項目のインデックスを設定します。
//2番目の項目を選択状態にする
$this->QRadioGroup1->writeItemIndex(1);
※プロパティは用意されているのですが、機能していないようです。不具合でしょうか。
■配置の設定
ラジオボタンは初期値では縦並びですが、横並びに変えることもできます。
フォームのJavaScriptのOnLoadイベントに次のコードを記述します。
function Unit1JSLoad($sender, $params)
{
?>
//begin js
QRadioGroup1.setLayout(new qx.ui.layout.HBox(5)); //横並び
//end
<?php
}
■選択された項目を取得する
QRadioGroupButtonで選択された値は、Submitされても送信されません。
不具合でしょうか。
そこで、選択された項目の値をSubmit時にJavaScriptでHiddenFieldに設定します。
function QButton1JSClick($sender, $params)
{
?>
//begin js
findObj('HiddenField1').value = QRadioGroup1.getSelection()[0].getLabel();
//end
<?php
}
QRadioGroup1.getSelection()は選択されている項目(qx.ui.form.RadioButton)を配列で返します。
最初の項目のラベルの文字をHiddenField1に設定しています。
送信された値を見ると、QRadioGroupButtonで選択された項目の値がHiddenField1に設定されていることがわかります。
function QButton1Click($sender, $params)
{
echo var_dump($_POST);
}
出力結果
'serverevent' => string 'QButton1Click' (length=13)
'serverparams' => string 'undefined' (length=9)
'HiddenField1' => string 'C++Builder XE' (length=13)
![]() 【送料無料】PHPで初めてドラッグ&ドロップ開発を実現した革新的なWeb開発環境RadPHP XE ESD … |