select2更改所选

时间:2018-04-23 13:23:57

标签: javascript ajax jquery-select2

我制作了一个进行搜索的API。 api的响应总是一个json文件。响应也包含一些结果汇总。 对于前端部分,我使用Select2.js创建了一个搜索选择栏。 我想在用户选择聚合时更改下拉列表的值(并自动显示它们)。 这些步骤是:

  1. 用户:在选择栏上输入内容
  2. Api:搜索用户写的内容
  3. 选择2:显示结果
  4. 用户:选择汇总
  5. Api:通过选择的聚合创建一个组
  6. 选择2:显示新结果
  7. 这是我的js代码,查询有效,但select2没有显示新值

    $('.SearchQueryBox').select2({
        tags: true,
        placeholder: 'search something',
        minimumInputLength: 3,
        ajax: {
            url: function (term) {
                return '/inspiring_indexes/search/?term=' + term;
            },
            dataType: 'json',
            delay: 50,
            cache : true,
            processResults: function (data) {
                return {
                    results: data
                };
            }
        }
    });
    
    $('.SearchQueryBox').on('select2:select', function (e) {
    
        var input = e.params.data;
        $.ajax({
            type: 'POST',
            url: "/inspiring_indexes/search/",
            dataType: 'json',
            data: input
        }).then(function (output) {
            console.log(output);
            // manually trigger the `select2:select` event
            $('.SearchQueryBox').trigger({
                processResults: function (output) {
                    return {
                        results: output
                    };
                }
            });
        });
    });
    

0 个答案:

没有答案