javascript - 使用 initSelection ajax 调用选择 2 显示未定义

标签 javascript jquery ajax jquery-select2

我正在尝试使用远程 ajax 调用和 initSelection 函数将条目预加载到 Select2 中。我的问题似乎类似于this question ,但是这两个答案都不适合我。

调用有效并以 json 格式返回正确的结果,问题似乎在于回调没有以正确的格式发送数据对象。

j("#selectElement").select2({
    placeholder: "Placeholder text",
    multiple: false,
    minimumInputLength: 1,
    ajax: {
        url: "/getfiles",
        dataType: 'json',
        data: function (term, page) {
            return {
                q: term //search term
            };
        },
        results: function (data, page) {
            return data;
        }
    },
    initSelection: function(element, callback) {
        return j.getJSON("/getfiles?id=" + (element.val()), null, function(data) {
            if (j.isFunction(callback)) {
                //alert(JSON.stringify(data, null, 4));
                return callback(data);
            }
        });
    }
});

当我提醒数据对象时,它会返回以下数据:

{
"results": [
    {
        "id": "1",
        "text": "Name of the file"
    }
],
"more": "false"

最终结果是文本“undefined”被加载到 select2 输入中。

如有任何帮助,我将不胜感激。

蒂姆

最佳答案

解决方案是像这样格式化回调数据

return callback(data.results[0]);

感谢此问题/答案:Select2 and initSelection callback

关于javascript - 使用 initSelection ajax 调用选择 2 显示未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24462460/

相关文章:

javascript - 如何比较每周数据?

javascript - 渲染图像操作 : HTML5 canvas element, 或使用 JS/jQuery 操作 DOM 元素的 CSS 哪个更快?

javascript - $.ajax 没有返回响应

ajax - 带有 f :ajax 的 JSF 2 自定义复合组件

javascript - flow js如何声明环境变量类型?

JavaScript:数组中给定字符串的数量

jquery - 我怎样才能独特地添加选项来使用jquery进行选择

java - Servlet 组合来自两个不同请求和回复的数据?

javascript - 计算一个元素有多少个类?

javascript - 已在控制台日志上打印的 undefined variable