jQuery select2 AJAX 不工作

Posted

技术标签:

【中文标题】jQuery select2 AJAX 不工作【英文标题】:jQuery select2 AJAX not working 【发布时间】:2014-03-28 04:08:24 【问题描述】:

我正在使用 jQuery select2 插件并试图让 AJAX 与我的 ext 数据一起工作,这显然无法正常工作,我只是想知道是否有人能指出我做错了什么或遗漏了什么?

注意这仅适用于选择 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"]

【问题讨论】:

【参考方案1】:

Select2 控件已更新到版本 4.0。现在输入字段不再起作用,应该有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
    ;

【讨论】:

【参考方案2】:

想出来是因为我使用的是&lt;select&gt;

它必须是 &lt;input&gt; 才能加载 ajax 数据...

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

【讨论】:

在 Select2 4.0 上则相反。它不起作用,因为它是输入而不是选择。 感谢您的帮助,我有一个输入,将其更改为一个选择并像魅力一样工作!

以上是关于jQuery select2 AJAX 不工作的主要内容,如果未能解决你的问题,请参考以下文章

ajax调用HTML内容更改后select2 jquery插件不起作用

jquery Select2 Ajax - 如何设置值(initSelection)

带有 templateResult 和 templateSelection 的 jquery select2 (4.0) ajax

jQuery.map() 解析 select2 ajax 调用的结果

Select2插件ajax方式加载数据并刷新页面数据回显

将参数传递给 jQuery 的 select2 ajax 调用