【问题标题】:Selected value get from DB into dropdown select box选定的值从数据库中获取到下拉选择框中
【发布时间】:2019-06-19 08:00:15
【问题描述】:

我有一个员工表单编辑。 我的问题是,我的编辑功能工作正常,但我无法获得员工类型的值。

我有 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'));
}

【问题讨论】:

  • 那么您在代码中的哪个位置读取员工当前的角色......?

标签: php laravel laravel-5


【解决方案1】:

你可以这样做:

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

【讨论】:

    【解决方案2】:

    在选择选项上使用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>
    

    【讨论】:

      【解决方案3】:

      您可以使用它在选择列表中显示所选项目

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多