1

idとnameの2つの列を持つテーブル'accountgroups'のドロップダウンにデータを入力したいと思います。ドロップダウンの最初の行は、最初にロードされたときに空白または「-アカウントグループの選択-」である必要があります。ユーザーがアイテム(つまり、表示フィールド'name'と値フィールド'id')を選択したら、フォームの送信時にidとnameの値を取得したいと思います。

4

2 に答える 2

0

最初にテーブルのモデルを作成する必要があります。

class Model_AccountGroups extends Model_Table {
    public $table='accountgroups';
    function init(){
        parent::init();
        $this->addField('name');
    }
}

$form->addField('dropdown','account_id')->setModel('AccountGroups');

if($form->isSubmitted()){
    $form->js()->univ()->alert('Selected ID='.$form->get('account_id'))->execute();
}
于 2012-08-28T02:14:03.147 に答える
0

おそらく(あなたの投稿には1年半かかります)あなたはあなたの問題を解決しましたが、とにかくこの問題のために「私の2セント」で貢献したいと思います. 私は(ドキュメント、フォーラムなど)見回しましたが、同じ問題に対する別の解決策は見つかりませんでした。私の解決策(テスト済みで動作中)は次のとおりです(十分に効率的ではないことをお知らせください):

>>>>>>>>>>>>>>>>>>>>> ON MODEL
class Model_Offices extends Model_Table {
    public $entity_code='Offices';
    function init(){
        parent::init();
        $this->addField('ID')->ReadOnly(True);
        $this->addField('OfficeName');
    }

    function GetAll() {
        $r=array();
        $AllOffices = $this->SetModel('Offices');
        foreach($AllOffices as $OneOffice) {
            $r[$OneOffice['ID']]=$OneOffice['OfficeName'];
        }
        return $r;
    }
}

>>>>>>>>>>>>>>>>>>>> ON PAGE

        $m=$this->Add('Model_Offices');
        $form->addField('dropdown','Office')->SetValueList($m->GetAll()) ;

マック

于 2014-05-08T14:31:36.503 に答える