使用select2:使用transport-function时,结果不可选

Posted

技术标签:

【中文标题】使用select2:使用transport-function时,结果不可选【英文标题】:Using select2: When using transport-function, results are not selectable 【发布时间】:2013-06-24 13:26:14 【问题描述】:

我正在使用 select2 插件,我需要使用传输功能来自己执行 ajax 请求,因为我需要在请求标头中设置 API 密钥。但只要我这样做,select2 就会正确响应结果,并且会按照我的意愿格式化和显示它,但显示的结果是不可选择的。我既不能点击它们,也不能用箭头键导航到它们,当我用鼠标越过它们时也没有任何鼠标悬停效果。

这是一些代码(我想显示用户名建议):

ajax: 
    data: function (term, page) 
        return 
            Searchtext: term
        ;
    ,

    transport: function(queryParams)
        // Api.Ajax delivers  Ajax: *the $.ajax object*, RequestId: *some requestId* 
        var req = Api.Ajax("/api/suggestion/share/" + queryParams.data.Searchtext, "POST",  UserOnly: true , queryParams.success);

        return req.Ajax;
    ,

    // parse the results into the format expected by Select2.
    results: function(resp, page) 
        return 
            results:    resp.Data,
            more:       false
        ;
    
,

就像我说的,只要我通过实现传输功能使用自己的 Ajax 功能,下拉列表中的结果都会显示出来,但不能选择。

这是一个错误,还是我做错了什么?

【问题讨论】:

好的,相关主题引导我找到解决方案。必须在 ajax 之上设置一个 id-function。查看以下主题以查看解决方案:***.com/questions/14819865/… 我的问题也解决了。看到这个链接:[***][1][1]:***.com/questions/14193463/… 【参考方案1】:

@thnew This Answer 将向您展示如何在不需要传输功能的情况下设置请求标头。

【讨论】:

他正在尝试做一个 POST,所以需要的不仅仅是标题。

以上是关于使用select2:使用transport-function时,结果不可选的主要内容,如果未能解决你的问题,请参考以下文章

select2 使用

使用 select2 折叠/展开 optgroup

Select2:使用 AJAX 未显示结果

Select2的使用

使用ajax post方法的select2

Select2 使用 jquery 隐藏选项