Получение значений для Selectize.js - PullRequest
0 голосов
/ 13 сентября 2018

Я использую 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?

1 Ответ

0 голосов
/ 13 сентября 2018

Да, вы можете просто добавить выбранный атрибут к опции.Вы можете сделать что-то вроде этого.

<option value="{{ $user->id }}" {{$selected->contains($user->id) ? 'selected' : ''}}>{{ $user->full_name }} - {{ $user->access_level }}</option>

Затем выбранный $ представляет собой набор идентификаторов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...