簡體   English   中英

Laravel 多選下拉值不顯示在編輯表單中

[英]Laravel Multi-select dropdown value not display in edit form

我有這樣的表用戶和分支

id name  branch_code
1  ABC   ["011","012","013","014"]
2  DEF   ["014"]

表分支

id branch_code branch_name
1   011        XXX
2   012        YYY
3   013        ZZZ
4   014        WWW

創建新用戶時,BRANCH 有多選下拉菜單,因此一個用戶可以選擇多個分支。

我可以將多選下拉列表保存到 branch_code 列中的表用戶中。 但是我在編輯表單中顯示所選值時遇到問題

這是編輯表單的多選下拉菜單

<select class="form-control" name="branch[]" id="users" multiple>
        @foreach ($branch as $branch)
             <option @if ($branch->branch_code==$user->branch_code)
                      selected
                    @endif value="{{$branch->branch_code}}">
                    {{$branch->branch_name}}
             </option>
         @endforeach
   </select>

編輯控制器

 public function edit($id)
{
  
    $branch = Branch::where('status','1')->get();
    $user = User::where('id',$id)->first();
    return view('admin.edit', compact('user','branch'));
}

在編輯表單中,我想在下拉列表中顯示所有帶有選定分支和未選定分支的分支。 對於選定的分支,它將用“選定”注釋或類似的東西突出顯示。 但現在它只顯示所有分支,對選定的分支沒有備注

$user->branch_code是數組或數組的 json 字符串。

如果是 json 字符串,則$user->branch_code = json_decode($user->branch_code)首先。

當您擁有數組時 - 您可以執行以下操作:

<option
    @if (in_array($branch->branch_code, $user->branch_code)) selected @endif
    value="{{$branch->branch_code}}"
>
    {{$branch->branch_name}}
</option>

暫無
暫無

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

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