Как получить старое значение при выборе в laravel блейд? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть форма фильтра, использующая выпадающий список, но я не могу получить это старое значение после того, как я отправил этот фильтр как ввод, как текст типа. кто-то может помочь?

<div class="form-group">
     <label>Status</label>  
        <select class="form-control select2 select2-hidden-accessible" style="width: 100%;" data-select2-id="1" tabindex="-1" aria-hidden="true"
                    name="user_id" id="user_id" required
                    >
                      @foreach($unit as $id => $nama_unit )
                      <option value="{{ $id }}">{{ $nama_unit }}</option>
                      @endforeach
                </select> 
        <div class="help-block with-errors"></div>
    </div>

я добавляю свой контроллер функций:

public function search_filter_alkes(Request $request)
{   

    $unit        = User::where('roles_id' , 1)->pluck('nama_unit', 'id'); 
    $user_id = $request->user_id;


    $alat = Alat::with('users')->where('user_id',$user_id)
    ->where('jenis', 'Alkes')->
    get();

    session()->put('user_id',$user_id);

    return view('sarpras.alkes',['user_id' => $user_id , 'unit' => $unit,'alat' => $alat  ])

    ->with('user_id', $user_id)
    ;


}

Ответы [ 3 ]

2 голосов
/ 14 февраля 2020

в соответствии с вашим кодом используйте это и убедитесь, что вы используете withInput ()

return redirect()->back()->withErrors($validator)->withInput();

<div class="form-group">
     <label>Status</label>  
        <select class="form-control select2 select2-hidden-accessible" style="width: 100%;" data-select2-id="1" tabindex="-1" aria-hidden="true"
                    name="user_id" id="user_id" required
                    >
                      @foreach($unit as $id => $nama_unit )
                      <option value="{{ $id }}" {{ old('user_id') == $id ? "selected" :""}}>{{ $nama_unit }}</option>
                      @endforeach
                </select> 
        <div class="help-block with-errors"></div>
    </div>

EDITED

Когда вы используете redirect () после метода post вы должны использовать withInput () , как я упоминал выше, пример

return redirect('route')->withInput();

при использовании view () you необходимо передать данные, такие как массив , как ваш код, а затем использовать ту же переменную имя

    return view('sarpras.alkes',['user_id' => $user_id , 'unit' => $unit,'alat' => $alat  ])

<option value="{{ $id }}" {{ $user_id == $id ? "selected" :""}}>{{ $nama_unit }}</option>
0 голосов
/ 14 февраля 2020

У вас есть несколько вариантов:

<select name="tags[]" class="form-control select-tag" multiple>
              @foreach($tags as $tag)
   <option value="{{$tag->id}}" {{in_array($tag->id, old("tags") ?: []) ? "selected": ""}}>{{$tag->name}}</option>
              @endforeach
</select>

ИЛИ

<select name="gender" class="form-control" id="gender">
        <option value="">Select Gender</option>
        <option value="M" @if (old('gender') == "M") {{ 'selected' }} @endif>Male</option>
        <option value="F" @if (old('gender') == "F") {{ 'selected' }} @endif>Female</option>
</select>
0 голосов
/ 14 февраля 2020

Вам нужно сравнить старое значение с клавишей ввода. Поэтому замените приведенный ниже код внутри вашего на l oop

@if (Input::old('user_id') == $id)
      <option value="{{ $id }}" selected>{{ $nama_unit }}</option>
@else
      <option value="{{ $id }}">{{ $nama_unit }}</option>
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...