Javascript 选择2 AJAX不显示";“未找到任何数据”;当数据库中没有数据时,改为显示搜索参数作为选择选项

Javascript 选择2 AJAX不显示";“未找到任何数据”;当数据库中没有数据时,改为显示搜索参数作为选择选项,javascript,jquery-select2,Javascript,Jquery Select2,我一直在做一个项目,我必须从ajax调用中加载select2选项 代码运行良好,除了在搜索结果中,它总是将搜索参数显示为选项。即使数据库中并没有数据,它仍然将其显示为选项,而不显示“并没有找到数据” 我的密码在这里 $(".search_user").select2({ minimumInputLength: 11, tags: [], ajax: { url

我一直在做一个项目,我必须从ajax调用中加载select2选项

代码运行良好,除了在搜索结果中,它总是将搜索参数显示为选项。即使数据库中并没有数据,它仍然将其显示为选项,而不显示“并没有找到数据”

我的密码在这里

       $(".search_user").select2({
            minimumInputLength: 11,
            tags: [],
            ajax: {
                url: "/user/get_user",
                dataType: 'json',
                type: "GET",
                quietMillis: 250,
                data: function (term) {
                    return {
                        term: term
                    };
                },
                processResults: function (data) {
                    var Return = [];
                    for (var i in data.item) {
                        console.log(data.item[i])
                        if (data.item[i].id != data.item[i].text) {
                            Return.push(data.item[i]);
                        }
                    }
                    return {
                        results: Return
                    }
                }
            }
        });
我的回报是这样的

{"item":[{"id":16,"name":"Razin Abid"}]}
我的观点是这样的

如果您在stisla上使用firemodal,请帮助我。

如果您在stisla上使用firemodal,这对我很有用
这对我来说很有用,因为您可以从select2中启用标记选项。您需要从代码中删除“标记:[]”

访问:

因此,您的代码应该如下所示:

$(".search_user").select2({
        minimumInputLength: 11,
        ajax: {
            url: "/user/get_user",
            dataType: 'json',
            type: "GET",
            quietMillis: 250,
            data: function (term) {
                return {
                    term: term
                };
            },
            processResults: function (data) {
                var Return = [];
                for (var i in data.item) {
                    console.log(data.item[i])
                    if (data.item[i].id != data.item[i].text) {
                        Return.push(data.item[i]);
                    }
                }
                return {
                    results: Return
                }
            }
        }
    });

这是因为您可以从select2启用标记选项。您需要从代码中删除“标记:[]”

访问:

因此,您的代码应该如下所示:

$(".search_user").select2({
        minimumInputLength: 11,
        ajax: {
            url: "/user/get_user",
            dataType: 'json',
            type: "GET",
            quietMillis: 250,
            data: function (term) {
                return {
                    term: term
                };
            },
            processResults: function (data) {
                var Return = [];
                for (var i in data.item) {
                    console.log(data.item[i])
                    if (data.item[i].id != data.item[i].text) {
                        Return.push(data.item[i]);
                    }
                }
                return {
                    results: Return
                }
            }
        }
    });