我用过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;
}
感谢帮助:)
答案 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
作为键以使选择成为可能。
谢谢