【问题标题】:SELECT2 ajax - preloaded optionsSELECT2 ajax - 预加载选项
【发布时间】:2013-11-20 11:51:16
【问题描述】:

目前,我有一个下拉列表可以处理对服务器的 ajax 请求,但是在 select2 初始化时附加一些默认选项也很好。使用 initSelection 函数,我只能附加一个选项,但不能附加完整的预加载数组。我也尝试使用 data 选项,但它也不起作用。 这是我的代码:

$("#address-select2").select2({
    placeholder: "--- ' . t('I\'ll add new address') . ' ---",
    minimumInputLength: 3,
    ajax: { 
        url: "/ajax/address_autocomplete/from",
        dataType: "json",
        type: "POST",
        data: function (term, page) {
            return {
                q: term
            };
        },
        results: function (data, page) {
            return {results: data.addresses};
        }
    }, 
    initSelection: function (element, callback) {
        $.ajax("/ajax/address_autocomplete/from/100", {
            dataType: "json"
        }).done(function(data) {
            callback(data.addresses[0]);
        });
    },
    formatResult: function (address) {
        return "<span class=\"dropdown-element\">" + address.text + "</span>";
    },
    formatSelection: function (address) {
        return address.text;
    },
    formatNoMatches: function () { return "' . t('No result found!') . '";},
    formatSearching: function () { return "' . t('Searching...') . '"; },
    formatLoadMore: function (pageNumber) { return "' . t('Loading results...') . '"; },
    dropdownCssClass : "bigdrop"
});

【问题讨论】:

    标签: ajax jquery drupal jquery-select2


    【解决方案1】:

    请不要通过callback(data.addresses[0]); 请像这样直接传递数组callback(data.addresses); 它应该工作我已经做到了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-25
      • 1970-01-01
      • 1970-01-01
      • 2019-09-01
      • 2015-05-16
      • 2021-09-03
      • 1970-01-01
      • 2017-01-15
      相关资源
      最近更新 更多