Я использую Selectize.js для создания тегов, подобных опыту, для добавления пользователей в рабочие места, используя текущих пользователей системы.
На мой взгляд
Следуя документации, у меня есть поле выбора с атрибутом множественный , которое я заполняю пользователями системы.Я также объявил, что этот вход является массивом путем добавления квадратных скобок.
<select name="job_administrator[]" multiple id="selectize" class="form-control{{ $errors->has('job_administrator') ? ' is-invalid' : '' }}">
<option value="">Select a user </option>
@foreach($users as $user)
<option value="{{ $user->id }}">{{ $user->full_name }} - {{ $user->access_level }}</option>
@endforeach
</select>
Затем я инициализирую плагин
$('#selectize').selectize({
placeholder: 'Select user',
plugins: ['remove_button'],
delimiter: ',',
persist: false,
})
В моем контроллере
/**
* Handle adding job administrators to jobs
*
* @param Array $data
* @return void
*/
public function addAdministrators(Array $data, int $id)
{
$vacancy = JobPost::where('id', $id)->first();
if(!empty($data['job_administrator'])){
$jobAdmins = $data['job_administrator'];
// Grab the IDs for the tags in the array
$admins = Admin::whereIn('id', $jobAdmins)->get()->pluck('id');
$vacancy->administrators()->sync($admins);
} else {
// If there were no tags, remove them from this model instance
$vacancy->administrators()->sync(array());
}
}
У меня такой вопрос: можно ли на экране редактирования предварительно заполнить выбранные элементы при использовании Selectize?