簡體   English   中英

Laravel表單選擇選項

[英]Laravel form select option

我有一個帶有“創建”,“編輯”和“刪除”按鈕的登錄頁面,“編輯”按鈕鏈接到一個選擇(下拉)菜單,並且URL的路徑是/ events / {number} / edit。

我將如何獲取我的URL來以這種格式寫入內容,因為頁面已經被加載,然后進行了選擇。

<div class="col-sm-4">
    <form method="get" action="{{ route('events.edit', ['event_id' => '2']) }}">
        <label>Event Name</label>
        <select name="event_edit" class="form-control form-control-lg">
            @foreach($events as $event)
                <option>{{$event->event_name}}</option>
            @endforeach  
        </select>  
        <button type="submit" class="btn btn-primary btn-round">Edit</button>
    </form>
</div>

上面的作品,但我必須手動將event_id設置為2,將需要javascript嗎?

Route::resource('events', 'EventController');

GET|HEAD  | events/{event}/edit    | events.edit      | App\Http\Controllers\EventController@edit                              | web    

我沒有可以測試的larvel實例,只是簡單地將PHP設為靜態,因此一旦渲染了DOM,就無法使用PHP更新輸出,即在下拉列表(或任何元素)為$event->id時進行操作改變了。 如果需要,您將需要JavaScript。 但是,我會選擇一種更直接的方法。

您將需要在控制器上創建通用編輯路徑,並將ID放在選項上作為值。

<div class="col-sm-4">
    <form method="get" action="{{ route('events.edit') }}">
        <label>Event Name</label>
        <select name="event_edit" class="form-control form-control-lg">
            @foreach($events as $event)
                <option value="{{$event->id}}">{{$event->name}}</option>
            @endforeach  
        </select>  
    </form>
</div>

現在,提交表單后,您將擁有用戶想要編輯的事件的ID。 只需使用它即可在控制器中獲取事件並呈現該事件的編輯屏幕。 如果您希望將該網址很好地顯示為site.com/edit/event/3則可以使用類似

return redirect()->route('route.name', [$param]);

它應該重定向到以id為參數的路由url,然后執行獲取和顯示在那里的所有邏輯。

嗯。 我們在這里需要形式動作嗎? 這個怎么樣:

<div class="col-sm-4">
    <form method="get" action="">
        <label>Event Name</label>
        <select name="event_edit" class="form-control form-control-lg" 
            onChange="window.location.href='/events/' + this.options[this.selectedIndex].value + '/edit'">
            @foreach($events as $event)
                <option value="{{$event->id}}">{{$event->name}}</option>
            @endforeach  
        </select>  
    </form>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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