下拉选择的选项旧值编辑在Laravel中不起作用

时间:2018-09-29 09:04:00

标签: javascript html5 css3 laravel-5

我试图显示下拉菜单的选定选项值,并且仅使用了自爆代码,即使我对另一个表数据使用了相同的技巧,也可以正常工作。但是我不知道为什么它不起作用?

public function userEdit($id) {

    $user = User::find($id);
    $userType = User::first()->userType;
    $isActive = User::first()->isActive;
    $allRoles=Role::all();
    $role_user = $user->roles()->pluck('user_id','role_id')->toArray();

    return view('admin\userEdit',compact('user','allRoles','userType','isActive','role_user','selectedRole'));


}

<div class="form-group">
<label class="control-label col-md-3">User Type
    <span class="required" aria-required="true"> * </span>
</label>
<div class="col-md-6">
    <div class="input-icon right">
        <i class="fa"></i>
        <select class="form-control"
            name="userType">

            <option @if(old('userType',$userType) == 'host') selected @endif>
                host
            </option>
            <option @if(old('userType',$userType) == 'visitor') selected @endif>
                visitor
            </option>
            <option @if(old('userType',$userType) == 'admin') selected @endif>
                admin
            </option>
            <option @if(old('userType',$userType) == 'operator') selected @endif>
                operator
            </option>

        </select>
    </div>
</div>

有人可以帮助我解决此问题,以便在用户编辑数据时显示我的旧值吗?

1 个答案:

答案 0 :(得分:0)

我曾经有过同样的问题,我不得不以非专业的方式来做,我们都知道select不受重复选项的限制,所以我使用了这种技巧。对于您的情况,我会做类似的事情:

<select class="form-control"
    name="userType">
    <option value"{{ $userType }}"> {{ $userType }} </option>
    <option value"host"> host </option>
    <option value"admin"> admin </option>
    <option value"visitor"> visitor </option>
    <option value"operator"> operator </option>
 </select>

对于要发送到刀片文件的变量,您可以尝试以下代码以确保未获得相同的userType,isActive和所有

$user = User::find($id);
$userType = $user->userType;
$isActive = $user->isActive;
$allRoles=Role::all();
$role_user = $user->roles()->pluck('user_id','role_id')->toArray();

我非常有信心这不是解决问题的最佳方法,但它目前可以解决您的问题。

即使$userTypehost,发布表单时也会给您host