【问题标题】:jQuery select2 AJAX not workingjQuery select2 AJAX 不工作
【发布时间】: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"}]

【问题讨论】:

    标签: javascript jquery ajax jquery-select2


    【解决方案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 上则相反。它不起作用,因为它是输入而不是选择。
      • 感谢您的帮助,我有一个输入,将其更改为一个选择并像魅力一样工作!
      猜你喜欢
      • 1970-01-01
      • 2013-04-17
      • 2018-02-04
      • 1970-01-01
      • 2010-12-23
      • 2016-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多