你如何在選擇框之間移動選項?
要自動提交選項,您需要將selected="selected"
屬性添加到<option>
元素。要在形式的選擇框提交許多選擇你需要添加multiple
到<select>
元素
,如果你想自動提交的頁面加載列表中的所有選項,那就需要像這樣
<select name="pilot_ratings" class="listbox" size="5" id="pilot-ratings" multiple>
<option value="1" selected="selected">Habilitación de Vuelo Nocturno Local</option>
<option value="3" selected="selected">Habilitación Cat. II/Cat. III</option>
<option value="5" selected="selected">Habilitación de Remolque de Planeador</option>
</select>
<?= $this->Form->input('pilot_ratings',[
'type' => 'select',
'class' => 'listbox',
'size' => 5,
'id' => 'pilot_ratings',
'multiple' => 'multiple',
'options' => [
['name' => 'Habilitación de Vuelo Nocturno Local', 'value' => '1', 'selected' => 'selected'],
['name' => 'Habilitación Cat. II/Cat. III', 'value' => '2', 'selected' => 'selected'],
['name' => 'Habilitación de Remolque de Planeador', 'value' => '5', 'selected' => 'selected']
]
]); ?>
還沒有測試的形式助手代碼的語法,但它是正確的觀念:
這可以通過使用CakePHP的表單助手等來達到的。
我剛纔想到的一件事就是如何在表單提交後閱讀數據。這些數據將仍然像提交:
pilot_ratings=1
pilot_ratings=3
pilot_ratings=5
默認情況下,我認爲(havnt實際測試過這一點)$this->request->data['pilot_ratings'];
將只持有其中的一個值,無論是第一單或因爲它保持overwritting本身是最後一個。
如果是這樣的話,你可能需要改變的形式方法來獲取
,然後從中提取查詢字符串的所有值,你可以得到:
$this->request->here();
你能解釋爲什麼你需要所有的 ..? –
Confused
這個想法是,用戶有兩個列表框。一個具有「可用」選項,另一個具有「選擇」選項。然後,在提交表單時,應該在數據庫中更新選擇的選項。另一種方法是使用複選框列表,但對用戶來說看起來不那麼友好。 – user1077915