在jquery标记输入中创建标记

时间:2013-04-18 19:13:00

标签: jquery ruby-on-rails jquery-ui jquery-tokeninput

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

无法创建不在列表中的令牌

我见过here,已实现此功能。但是没有关于我们如何使用它的文档。

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

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'
        });

    });

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

1 个答案:

答案 0 :(得分:8)

启动时加入allowFreeTagging: true

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

另请注意,如果您将allowFreeTagging设置为true,则需要将tokenValue更改为"name",因为当您在服务器上保存标记时,您可能希望保存名字,而不是身份。

以下是我的令牌选项

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

$('input#tag-input').tokenInput('/tags.json', tokenOptions);

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