javascript - 使用 select2 : When using transport-function, 结果不可选

标签 javascript jquery ajax twitter-bootstrap jquery-select2

我正在使用select2插件,我需要使用传输功能来自己执行ajax请求,因为我需要在请求 header 中设置API key 。但是,一旦我这样做, 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 功能,下拉列表中的结果就会全部显示,但不可选择。

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

最佳答案

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

关于javascript - 使用 select2 : When using transport-function, 结果不可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17336464/

相关文章:

javascript - 在 JavaScript 上请求客户端证书

jquery - 扩展jqgrid子网格

javascript - 如何在不提交表单的情况下获取 javascript 中输入字段的值?

jquery - 隐藏字段在回发时失去其值(value)

javascript - jQuery Dropdown - 找出被点击的内容

php - 使用ajax post实时验证用户名和电子邮件地址

javascript - 通过 Ajax 响应获取的字段中的 JS 问题

javascript - 使用javascript编辑上传的文件客户端

javascript - 在 Windows 上运行并行 npm 脚本

javascript - jQuery ajaxForm beforeSubmit 在 document.ready 上触发