在jquery标记输入中创建标记

Ash*_*ala 5 jquery jquery-ui ruby-on-rails jquery-tokeninput

目前我的jquery令牌输入工作正常.

我无法创建令牌,而令牌不在列表中

我在这里看到,这个功能已经实现.但是没有关于我们如何使用它的文档.

任何人都可以帮我提供文档或演示

js_js.js

    $(document).ready(function () {
        $("#job_skills").tokenInput("/jobs/search_job_skills", {
            theme: "facebook",
            preventDuplicates: true,
            hintText: 'Add skills need for job',
            searchingText: 'searching skills...',
            allowCreation: true,
            creationText: 'Add new element'
        });

    });
Run Code Online (Sandbox Code Playgroud)

cons_controller.rb

  def search_job_skills
    search_for_json(Skill)
  end

  def search_for_json(model_search)
    @hash = []

    @search_res = model_search.where(['name LIKE ?', "#{params[:term]}%"])

    @search_res.each do |tag|
      @hash << { id: tag.id,
                 name: tag.name}
    end
    render json: @hash
  end
Run Code Online (Sandbox Code Playgroud)

Chr*_*ris 8

包含allowFreeTagging: true在您发起时.

不幸的是,文档在几年内没有更新.

另请注意,如果设置allowFreeTagging为true,则需要更改tokenValue为"name",因为在服务器上保存标记时,可能需要保存名称,而不是id.

这是我的令牌选项

tokenOptions = {
    allowFreeTagging: true,
    tokenValue: 'name'
}

$('input#tag-input').tokenInput('/tags.json', tokenOptions);
Run Code Online (Sandbox Code Playgroud)

这样,当用户选择标签时,名称将被发送到服务器,如果有任何新的标签名称,我只需在服务器端创建它们.

  • 好极了!你让我不必重建这个! (2认同)