在没有InitSelection的情况下预加载Select2 ajax字段

时间:2016-12-23 15:05:14

标签: jquery ajax select2

我有一个Select2字段,允许我的用户通过ajax加载选择一些实体。由于源是可变的,因此在创建时,我的select2字段除了占位符之外没有选项。

在更新时,我想在我的内部预加载现有数据,并允许我的用户根据需要更改值(通过ajax),就像普通的Symfony ChoiceType一样。

我在一些旧主题中发现了方法“InitSelection”,但它在Select2 4.x版本上已弃用,我无法理解remplacement方法的工作原理。

这是我目前的代码。 defaultData是一个数组{id:id,text:text}:

function getSelect2Options(route, defaultData) {
try {
    route = Routing.generate(route);
} catch(error) {
    return {};
}

return {
    closeOnSelect: false,
    minimumInputLength: 1,
    ajax: {
        url: route,
        dataType: 'json',
        delay: 500,
        data: function (params) {
            return {
                query: params.term,
                page: params.page
            };
        },
        processResults: function (data) {
            return {
                results: data
                };
            }
        }
    };
}

谢谢大家的帮助和时间。

0 个答案:

没有答案