簡體   English   中英

形式::從GET變量中選擇默認值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM