2012-08-27 24 views
1

我想填充表'accountgroups'有2列id和名稱的下拉列表。首次下載時,第一行下拉列表應該爲空或「 - 選擇帳戶組 - 」。一旦用戶選擇了該項目(即顯示字段'名稱'和值字段'id'),我希望在表單被取消時獲取id和名稱值。atk4從數據庫表中簡單地下拉

回答

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(); 
} 
+0

羅馬嗨,我已經像上面的代碼完成,它只是給了我「ACCOUNT_ID」 。我還需要知道所選的'姓名'。除此之外,下拉菜單中的第一項應該是「空白」或「 - 選擇組 - 」,這樣用戶不會忽略組中的第一項,並錯誤地提交表單而不會注意到它。 – Hemal

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()) ; 

麥克

相關問題