2015-10-07 80 views
2

嗨,我是Codeigniter的初學者。以下是我的代碼。問題是,它不會在選擇意見菜單中顯示默認值。請協助,謝謝。Codeigniter中選擇選項默認值不起作用

<select name="taskOption1" class="form-control"> 
    <option value="" disabled selected> -- select an option -- </option> 
    <?php 
     foreach($stagesData as $key => $value): 
      echo '<option value="'. $value -> stage_id . '"' . 
      set_select('taskOption1', $rows[0] -> stage_reject_id) . '>' . $value -> stage_name . '</option>'; 
     endforeach; 
    ?> 
</select> 
+1

刪除'disabled' – NULL

+1

這禁用僅適用於第一選項。不關心其他選項。 – ieQsan

+1

從外觀上看,您試圖選擇多個選項,因此請在選擇中添加'multiple'。而'set_select'是第三個(可選)參數,您可以將項目設置爲默認值(使用布爾值TRUE/FALSE)。 – NULL

回答

1

首先,如果你有一個默認選項,我想這應該是選中的一個?如果是這樣,你不需要<option value="" disabled selected> -- select an option -- </option>。但我可能已經明白這是錯誤的方式。

第二,如果你想設置一個默認值與笨set_select(),你必須使用第三個參數,就像這樣:

set_select('taskOption1', $rows[0] -> stage_reject_id, TRUE) 
+1

當我在set_select方法中使用TRUE時,它顯示select選項中的最後一個值。不顯示默認值。 – ieQsan

+1

是的,它的確如此,因爲你必須有條件地插入它。否則,所有的選項都會被選擇,當然,它會穩定到最後一個。 –

+0

>> webcrazymaniac謝謝 – ieQsan

1

您使用Form Helper,我明白了,你爲什麼不使用from_dropdown或多次使用form_multiselect

form_dropdown([$name = '', $options, $selected, $extra) 
Parameters: 
$name (string) – Field name 
$options (array) – An associative array of options to be listed 
$selected (string) – Selected Value 
$extra (mixed) – Extra attributes 

爲您的代碼

<?php $stagesData = ['' => '--select--'] + $stagesData; ?> 
<?php echo form_dropdown('taskOption1', $stagesData, ''); ?> 
+1

感謝回答NULL,我把form_dropdown方法。在控制器或視圖? – ieQsan

+1

你必須把它放在視圖中。 – NULL

+1

不客氣。 – NULL

1
<select name="taskOption2" class="form-control"> 
     <option value="" disabled selected> -- select an option -- </option> 
     <?php 
      foreach($rejectsData as $key => $value): 
       echo '<option value="'. $value -> reject_id . '"' . 
       set_select('taskOption2', $rows[0] -> stage_reject_id, ((($value -> reject_id) == ($rows[0] -> reject_id))?true:false)) . '>' . $value -> reject_name . '</option>'; 
      endforeach; 
     ?> 
</select>