[英]Form::select default value from GET variables
我有以下表格:
{{ Form::open(array('route' => 'get.index', 'method' => 'get')) }}
{{ Form::label('order', 'Order by') }}
{{ Form::select('order' , array('firstname' => 'First Name', 'lastname' => 'Last Name', 'state' => 'State')) }}
{{ Form::submit('Order results') }}
{{ Form::close() }}
我想使所選選項成為與查詢字符串中的order
變量(如果有)相對應的選項。 如果沒有任何查詢參數,則還應默認為首選。
這可能嗎?
這個怎么樣:
<?php
$availableOrders = ['firstname' => 'First Name', 'lastname' => 'Last Name', 'state' => 'State'];
$selectedOrder = Input::get('order', null);
$selectedOption = !is_null($selectedOrder) && array_key_exists($selectedOrder, $availableOrders) ? $selectedOrder : 'firstname';
?>
{{ Form::select('order', $availableOrders, $selectedOption); }}
這很自我描述:
首先,您定義可用訂單選項的數組。
然后,您需要從查詢字符串中選擇一個。
如果它不為null,並且存在帶有此類數組鍵的選項,請選擇它。 如果沒有-讓我們選擇第一個。
一旦獲得了所有這些值,您就可以簡單地使用blade和Form :: select將其輸出。
別忘了這可以用更少的代碼行完成,但是這樣整個想法就很清楚了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.