1

我想从具有 2 列 id 和 name 的表“accountgroups”中填充一个下拉列表。首次加载时,下拉列表的第一行应为空白或“--选择帐户组--”。一旦用户选择了项目(即显示字段“名称”和值字段“id”),我想在提交表单时获取 id 和名称值。

4

2 回答 2

0

可能(你的帖子有一年半的时间)你已经解决了你的问题,但无论如何我想为这个问题贡献“我的 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 回答
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 回答