2012-10-03 44 views
-1

我使用ci助手form_dropdown爲我的表單獲取所需的輸入類型作爲文本框,單選按鈕等使用下拉菜單。爲puropse我使用display_text和db中的multiple_values其中display_text存儲文本框,單選按鈕等,而在多個值我存儲0或1取決於輸入是否採用多個值或不.eg爲textarea multiple_values = 0和單選按鈕multiple_values = 1.now問題是來自控制器的編輯過程中我做如何使用form_dropdown codeigniter的助手

$data['field_types'] = dropdown_data($field_types, 'display_text' , 'multiple_values'); 

當我發送這樣沒有選擇保存的價值,它只是選擇下拉菜單中的第一個值始終,但允許選擇從控制器當我喜歡

$data['field_types'] = dropdown_data($field_types, 'display_text'); 

結果是杜裏顯示編輯保存的值,但現在不允許更改。 我希望顯示先前選定的值,並且還能夠在編輯期間更改值。
我在犯這個錯誤。提前感謝任何幫助/建議和寶貴的時間。

回答

0

第一種選擇:

在控制器:

$data['field_types']=array( 
          '1' => 'First DropDownItem', 
          '2' => 'Second DropDownItem', 
          '3' => 'Third DropDownItem' 
          ); 

$data['field_types']['4']='New DropDownItem'; 
$data['field_types']['0']='New Default_DropDownItem'; 

在View:

<?=form_dropdown('field_types',$field_types,0); ?> // default value will be 'New Default DropDownItem' 

與數據庫(合理地)第二個選項:

在控制器:

$data['field_types_from_model']=$this->my_Model->getFieldTypes(); 

在my_Model:

function getFieldTypes() { 
    $Q = $this->db->get('table_with_field_types'); 
    return $Q->result_array(); 
} 

如果您使用的是相同的下拉列表多次,我建議你使用第二個選項。這樣你就需要在你的數據庫表中更改一次DropDown List,這會影響所有的用法。