Select2-无法选择Ajax结果(不可点击)

时间:2018-09-07 04:56:17

标签: php jquery-select2

我用过select2 jquery库,下面是我用ajax选择多个用户的代码。我可以搜索并且得到用户的结果,但是我无法选择(它不可点击),请看看我做错了什么。

HTML代码

<select id="userSearch" name="users[]" class="txt-theme form-control" style="width:200px" placeholder="Search users..."></select>

JQUERY代码

$('#userSearch').hide();
$("#userSearch").select2({
  ajax: {
    url: "http://localhost:8000/api/users",
    dataType: 'json',
    delay: 250,
    data: function (params) {
      return {
        q: params.term, // search term
        name: params.term, // search term
        page: params.page
      };
    },
    processResults: function (data, page) {
      // parse the results into the format expected by Select2.
      // since we are using custom formatting functions we do not need to
      // alter the remote JSON data
      return {
        results: data.items
      };
    },
    cache: true
  },
  escapeMarkup: function (markup) { return markup; },
  multiple: true,
  allowClear: true,
  placeholder: 'Share file(s) with...',
  minimumInputLength: 3,
  templateResult: formatRepo,
  templateSelection: formatRepoSelection

});

function formatRepo(repo) {
  if (repo.loading) return repo.name;
  var markup = '<li value='+repo.user_id+'>'+repo.name+'</li>';
  return markup;
}

function formatRepoSelection (repo) {
  return repo.name || repo.name;
}

感谢帮助:)

1 个答案:

答案 0 :(得分:0)

谢谢大家为我找点东西。通过谷歌搜索

这部分的问题

function formatRepo(repo) {
  if (repo.loading) return repo.name;
  var markup = '<li value='+repo.user_id+'>'+repo.name+'</li>';
  return markup;
}

我必须从repo.user_id更改为repo.id,因为select2库需要id作为键以使选择成为可能。

谢谢