检索Selectize.js的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检索Selectize.js的值相关的知识,希望对你有一定的参考价值。

我正在使用Selectize.js创建类似标记的体验,用于使用系统的当前用户将用户添加到作业。

在我看来

在文档之后,我有一个带有multiple属性的选择框,我在系统中填充了这些属性。我还声明这个输入是一个数组,通过添加方括号。

<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时预先填充所选项目吗?

答案

是的,您可以,只需将选定的属性添加到选项中即可。你可以做这样的事情。

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

然后,$ selected是一组id。

以上是关于检索Selectize.js的值的主要内容,如果未能解决你的问题,请参考以下文章

selectize.js 重新加载下拉菜单

selectize.js 预输入字符(黄色)颜色未重置

selectize.js 不发送所有选定的选项,但只发送最后一个

如何更改 selectize.js 下拉菜单的占位符?

Symfony2 和 Selectize.js:在实体字段类型中保留新项目的最清晰方法?

R / Shiny selectInput小部件大小