簡體   English   中英

選定的值從數據庫獲取到下拉選擇框

[英]Selected value get from DB into dropdown select box

我有一個員工表格編輯。 我的問題是,我的編輯功能運行良好,但我無法獲取員工類型的值。

我有 4 種員工類型:

  • 職員
  • 導師
  • 經理
  • 超級用戶

每次我去編輯表單時,下拉列表中的員工類型總是在員工上(我想顯示,如果員工是“經理”,那么下拉框顯示經理)。

這是editroledetails.blade.php的代碼

<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        <option value="Staff">Staff</option>
        <option value="Supervisor">Supervisor</option>
        <option value="Manager">Manager</option>
        <option value="Super User">Super User</option>
    </select>
</div>

控制器功能

public function editroledetails(Request $request)
{
    $user = \Auth::user();
    $userphone = 0;
    $reportTo = DB::select(DB::raw("select username from customer_type where customer_type = 'Supervisor' or customer_type ='Manager' "));

    $select = DB::select(DB::raw("select customer_type from customer_type "));
    $data = [
        'editUsername' => $request->editUsername,
        'editNik' => $request->editNik,
        'editEmail' => $request->editEmail,
        'editRegIdentities' => $request->editRegIdentities,
        'editReportTo' => $request->editReportTo,
        'editID' => $request->editID
    ];
    return view('editroledetails', compact('user', 'userphone', 'data', 'reportTo', 'select'));
}

你可以這樣做:

<div class="form-group">
     <label for="editCustomerType">Customer Type</label><br/>
     <select name="editCustomerType">
           @if($user->customer_type == 'Staff')
              <option value="Staff">Staff</option>
           @endif
           @if($user->customer_type == 'Supervisor')
               <option value="Supervisor">Supervisor</option>
           @endif
           @if($user->customer_type == 'Manager')
               <option value="Manager">Manager</option>
            @endif
            @if($user->customer_type == 'Super User')
               <option value="Super User">Super User</option>
            @endif
     </select>
 </div>

在選擇選項上使用selected屬性

<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        <option value="Staff" @if($user->customer_type == 'Staff')selected@endIf>Staff</option>
        <option value="Supervisor" @if($user->customer_type == 'Supervisor')selected@endIf>Supervisor</option>
        <option value="Manager" @if($user->customer_type == 'Manager')selected@endIf>Manager</option>
        <option value="Super User" @if($user->customer_type == 'Super User')selected@endIf>Super User</option>
    </select>
</div>

您可以使用它來顯示選擇列表中的所選項目

<?php
    $customerTypes = [
        'Staff' => 'Staff',
        'Supervisor' => 'Supervisor',
        'Manager' => 'Manager',
        'Super User' => 'Super User',
    ];
?>
<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        @foreach($customerTypes as $type)
            <?php
                $selected = "";
                @if($user->customer_type == $type) {
                    $selected = "selected";
                }
            ?>
            <option value="{{ $type }}" {{ $selected }} >{{ $type }}</option>
        @endforeach
    </select>
</div>

暫無
暫無

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

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