2012-08-16 76 views
0

我有一個附加的形式,讓我給特定字段添加到數據庫中,我的一個選項是一個下拉菜單,這樣我可以設置窗體類型設置保管箱值在創建編輯頁面的過程中,我已將其他值稱爲$field->name等,但我如何調用$field->type來設置下拉菜單的特定值?從數據庫

我添加的看法是:

<label for="edit_fields_type">Type: </label> 
<select name="edit_fields_type" id="edit_fields_type"> 
    <option value="">Please Select</option> 
    <option value="input" <?php echo set_select('edit_fields_type','input', (!empty($fieldType) && $fieldType == "input" ? TRUE : FALSE)); ?>>Input</option> 
    <option value="textarea" <?php echo set_select('edit_fields_type','textarea', (!empty($fieldType) && $fieldType == "textarea" ? TRUE : FALSE)); ?>>Text Area</option> 
    <option value="radiobutton" <?php echo set_select('edit_fields_type','radiobutton', (!empty($fieldType) && $fieldType == "radiobutton" ? TRUE : FALSE)); ?>>Radio Button</option> 
    <option value="checkbox" <?php echo set_select('edit_fields_type','checkbox', (!empty($data) && $data == "checkbox" ? TRUE : FALSE)); ?>>Check Box</option> 
</select> 
+0

set_select做什麼? – Robbie 2012-08-16 03:46:25

+1

我認爲你需要一些進一步的澄清,它很難確切地知道你在問什麼。 – 2012-08-16 03:47:43

+0

@TobyAllen我想通過在db =中給出的值設置下拉菜單,如果輸入設置菜單將顯示輸入 – 2012-08-16 04:39:37

回答

2

所以,如果你的形式幫助需要的是form_dropdown()的第三個參數,它允許您指定所選項目。可能:

$this->load->helper('form'); 
$options = array('input' => 'Input','textarea' => 'Text Area','radiobutton' => 'Radio Button','checkbox' => 'Checkbox',); 
echo form_dropdown('edit_fields_type', $options, $field->type); 

其中$ field-> type是您在模型中具有選定值的任何位置。

+0

是的我在DB中有一個選項設置在輸入textarea等和我希望這是我加載頁面時所選擇的屬性。 – 2012-08-17 02:26:29

1

試試這個

$this->load->helper('form'); 
$options = array(
        'input' => 'Input', 
        'textarea' => 'Text Area', 
        'radiobutton' => 'Radio Button', 
        'checkbox' => 'Checkbox', 
       ); 

echo form_dropdown('edit_fields_type', $options, set_select('edit_fields_type', $fieldType)); 
+0

沒有,只是設置數組中的第一個。選擇的值應該是設置爲$ field-> type作爲第一個選項,但也顯示其他選項,以便用戶想要更改它 – 2012-08-16 06:18:49

1
<option value="input" <?php echo (set_value('edit_fields_type', $fieldType) == "input") ? TRUE : FALSE)); ?>>Input</option>