jQuery select2 AJAX不起作用

12

我正在使用jQuery select2插件,并尝试使用我的扩展数据使AJAX工作,但显然没有成功,我想知道是否有人可以指出我做错了什么或漏掉了什么?

注意:这仅适用于select v3.5.2

我的js代码:

$('#cliselect').select2({
    ajax: {
        dataType: "json",
        url: "clientprojectpopulate.php",
        results: function (data) {
            return {results: data};
        }
    }
});

HTML:

<select id="cliselect" name="cliselect" style="width: 100%;" /></select>

我的JSON返回值(我相信是有效的):

[{"id":"62","text":"Alberta Innovates Health Solutions"},{"id":"4","text":"Alterna Savins & Credit Union"},{"id":"63","text":"BC Patient Safety & Quality Council"}]
2个回答

20

选择控件Select2已更新到4.0版本。 现在,input元素已不再使用,应该使用select元素代替。

结果也已更改为

processResults: function (data) {
    return {
      results: data
    };  
}

processResults函数中,您可以像这样使用它们:

processResults: function (data) {
    var results = [];
    $.each(data, function (index, account) {
        results.push({
            id: account.AccountID,
            text: account.AccountName
        });
    });

    return {
        results: results
    };
}

14

我发现问题出在我使用了 <select>

必须要用 <input> 才能让 AJAX 数据加载...

<input type="hidden" id="cliselect" name="cliselect" style="width: 100%;" />

17
在Select2 4.0中相反的情况发生了。它没有起作用,因为它是一个输入而不是选择。 - coorasse
感谢您的帮助。我将输入字段更改为选择字段,现在已经完美解决了! - pedrommuller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接