解決済みの質問
HTML_QuickFormのAdvCheckBoxにデフォルトでチェックを入れたいのですが、
$form->addElement('advcheckbox', 'c1', '', 'Check1', NULL, array("f", "t"));
$form->addElement('advcheckbox', 'c2', '', 'Check2', NULL, array("f", "t"));
$form->addElement('advcheckbox', 'c3', '', 'Check3', NULL, array("f", "t"));
$form->setDefaults(array('c2'=>'checked'));
上記のようにやってみたのですが Check2 にチェックを入れることは出来ませんでした。通常のcheckboxでは下記のようにやってチェックを入れることができました。
$form->addElement('checkbox', 'c1', '', 'Check1');
$form->addElement('checkbox', 'c2', '', 'Check2');
$form->addElement('checkbox', 'c3', '', 'Check3');
$form->setDefaults(array('c2'=>'checked'));
AdvCheckboxは方法が違うのでしょうか?
投稿日時 - 2005-11-23 14:44:05
どうも@寝不足です。
方法は変わりません。
$form->addElement('advcheckbox', 'c1', '', 'Check1', NULL, array("f", "t"));
デフォルト値setDefaultsの設定はaddElementの選択値と一致させなければいけません。
つまり・・・
$form->addElement(
'advcheckbox',
'c2',
'',
'Check1',
NULL,
array("f(チェック無しの値)", "t(チェック有りの値)")
);
と要素指定したならば
$form->setDefaults(array('c1'=>'t'));
とすることでチェック状態になります。
説明しづらくて申し訳ないです。
投稿日時 - 2005-11-25 05:57:43
お礼
ご回答ありがとうございました。
教えていただいた方法でうまくいきました。
投稿日時 - 2005-11-25 08:26:29
0人が「このQ&Aが役に立った」と投票しています