如何在Laravel刀片中选择旧值?

时间:2020-02-14 04:02:15

标签: laravel

我具有使用select下拉列表的过滤器表单,但是在提交此过滤器(如输入type文本)后,我无法获得此旧值。有人可以帮忙吗?

wine_data <- factor(c('wine1','wine1', 'wine2', "wine1", "wine2", "wine3"))
levels(wine_data) <- c(levels(wine_data), "Other")
wine_data[wine_data %in% names(Filter(isTRUE, table(wine_data) <= n))] <- "Other"
droplevels(wine_data)
#[1] wine1 wine1 Other wine1 Other Other
#Levels: wine1 Other

我添加了我的功能控制器:

<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>

4 个答案:

答案 0 :(得分:2)

根据您的代码使用此代码,并确保使用 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>

已编辑

在发布方法之后使用 redirect()时,必须使用 withInput(),如我在上面的示例中提到的

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

使用 view()时,您必须像代码一样传递 array 之类的数据,然后使用相同的变量名称

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

<option value="{{ $id }}" {{ $user_id == $id ? "selected" :""}}>{{ $nama_unit }}</option>

答案 1 :(得分:1)

您将不得不将旧值与输入键进行比较。因此,将以下代码替换为for循环

@if (Input::old('user_id') == $id)
      <option value="{{ $id }}" selected>{{ $nama_unit }}</option>
@else
      <option value="{{ $id }}">{{ $nama_unit }}</option>
@endif

答案 2 :(得分:0)

您有多种选择:

<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>

OR

<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>

答案 3 :(得分:0)

这在 Laravel 8 中对我有用:

<select class="form-control" id="gender" name="gender" required>
   <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>
   <option value="O" @if (old('gender') == "O") {{ 'selected' }} @endif>Other</option>
</select>