我正在使用Select2(https://select2.github.io)。
我想使用select2作为实时ajax搜索输入。
所以我试试吧:
var $similar = $(".datajax-items");
$similar.select2({
placeholder: "search...",
maximumSelectionSize: 1,
ajax: {
...
},
processResults: function(data, params) {
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 20) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function(markup) { return markup; },
templateResult: formatRepo,
templateSelection: formatRepoSelection
});
和功能:
function formatRepo(repo) {
if (repo.loading) return repo.text;
var markup = "<a href=\"google.com\" class='select2-result-repository clearfix'></a>";
return markup;
}
function formatRepoSelection(repo) {
return repo.id || repo.text;
}
代码有效。但是当我点击一个选项(在选择框中)时,它(通常)会选择它。我不想选择它。我想禁用选择,然后将页面重定向到自定义URL。
答案 0 :(得分:0)
如果只是一个简单的解决方案:
声明一个变量(例如&#39; url&#39;在服务器端(json))并将代码更改为:
function formatRepoSelection(repo) {
if(repo.url)
{
window.location.replace(repo.url);
return 'please wait...';
}
return repo.title || repo.text;
}