从数据库中加载预选值以进行选择

时间:2019-02-28 08:18:55

标签: javascript php jquery laravel

我正在使用JavaScript选择来允许用户在创建角色时添加多个权限。这部分很棒。

Add permissions

当用户想要编辑某个角色时,挑战就来了。我想用他们在创建角色时先前选择的数据加载Selectize。这是我的代码;

刀片

<select id="permissions" name="permission[]" multiple="multiple">
   <option value="">Choose a permission</option>
   @foreach($permission as $value)
     <option value="{{ $value->name }}">{{ $value->name }}</option>
   @endforeach
</select>

JavaScript

<script>
   $(function() {
     $('#permissions').selectize();
   });
</script>

当前,选择加载为空时,我不确定如何应对这一挑战。请协助。

2 个答案:

答案 0 :(得分:2)

尝试一下:

<select id="permissions" name="permission[]" multiple="multiple">
    <option value="">Choose a permission</option>
    @foreach($permission as $value)
        <option value="{{ $value->name }}" {{ (in_array($value->name, $permissionsArray)) ? 'selected' : '' }} {{ (collect(old('permission'))->contains($value->name)) ? 'selected':'' }}>{{ $value->name }}</option>
    @endforeach
</select>

答案 1 :(得分:1)

您可以使用php的in_array函数检查该权限是否已在所选权限中。

@foreach($permission as $value)
 <option {{in_array($value->name, $selectedPermissions) ? 'selected':''}} value="{{ $value->name }}">
    {{$value->name}} 
 </option>
@endforeach

REF:http://php.net/manual/en/function.in-array.php