Select2不显示结果,但成功返回JSON

时间:2015-07-16 20:16:04

标签: json jquery-select2

我正在使用带有MVC4的Select2 jQuery插件。我的JavaScript文件在我的控制器中使用JSON获取数据,但是当我调试并尝试显示结果时,我收到错误:

Unable to get property 'toUpperCase' of undefined or null reference

我认为它可能与我回来的JSON有关,因为它看起来像是对象或它们重新注入的事实,但我并不完全确定。通过ToString()将它们转换为字符串也不起作用。     [{"名称":1,"标签":1,},{"名称":2"标签":2}, ...]

这是我的JS:

$("#ItemID").select2({
    ...
    ajax: {
    url: $("#ItemID").attr("data-getids"),
    dataType: "json",
    data: function (param) {
        return {query: param};},
    results: function(data) {
        return {results: data};}
    }
});

1 个答案:

答案 0 :(得分:0)

我明白了。我正在使用旧版本的select2(3.4.5),最后我在结果函数中映射了JSON。

results: function (data) {
    return {
        results: $.map(data, function (item) {
            return {text: item.name,
            id: item.id};
        };
    }),
}