从select2下拉

时间:2016-10-05 17:26:23

标签: jquery ajax select2

我正在使用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。

1 个答案:

答案 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;
}