如何使用select2构建标记函数?

时间:2015-06-03 06:32:33

标签: jquery jquery-select2

我想使用select2来构建用户tag功能。有了这个,我们可以向用户添加tags。它实现了以下功能:

  
      
  1. 输入标签时,使用ajax搜索数据库中的单词并列出匹配结果;
  2.   
  3. 我们可以选择结果来快速添加标签;
  4.   
  5. 我们也可以按Enter键添加数据库中不存在的新标签。
  6.   
  7. 提交时,我们只提交标签自己。
  8.   

但是,请使用作者网站上的示例,我只能搜索tagsajax。我无法将它们组合在一起。

有人能给我一些建议吗?

1 个答案:

答案 0 :(得分:0)

我看不出任何问题。我刚刚在github示例中将multiple="multiple"属性添加到select,并且我有ajax +标记功能。 此外,我添加了tags:true选项,让用户创建自己的标签。

<强> HTML:

<select class="js-data-example-ajax" multiple="multiple">
</select>

<强> JS:

$(".js-data-example-ajax").select2({
  tags:true,        
  ajax: {
    url: "https://api.github.com/search/repositories",
    dataType: 'json',
    delay: 250,
    data: function (params) {
      return {
        q: params.term, // search term
        page: params.page
      };
    },
    processResults: function (data, page) {
      var newData = [];
        $.each(data.items, function (index, item) {
            newData.push({
                id: item.id  //id part present in data 
              , text: item.name  //string to be displayed
            });
        });
        return { results: newData };
    },
    cache: true
  },
  escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
  minimumInputLength: 1
});

请注意我已修改processResults功能,以使其在jsfiddle中运行。

以下是工作示例:http://jsfiddle.net/8bg2y0q3/1/

相关问题