Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Select2 initSelection在从列表中选择后正在发出2个ajax请求_Javascript_Jquery_Ajax_Select2 - Fatal编程技术网

Javascript Select2 initSelection在从列表中选择后正在发出2个ajax请求

Javascript Select2 initSelection在从列表中选择后正在发出2个ajax请求,javascript,jquery,ajax,select2,Javascript,Jquery,Ajax,Select2,我正在使用select2(4.0.3)。我的代码正在工作,并且正在获取页面加载和搜索的结果。但是,在执行远程搜索并从列表中选择一个项目之后,my initSelection块会进行另外两个ajax调用,其中search param是所选值的ID。我只希望当页面加载了下拉列表的预填充值时,initselection才起作用。感谢您的帮助 $(".venue-dropdown").select2({ placeholder: "Enter venue name", allowClea

我正在使用select2(4.0.3)。我的代码正在工作,并且正在获取页面加载和搜索的结果。但是,在执行远程搜索并从列表中选择一个项目之后,my initSelection块会进行另外两个ajax调用,其中search param是所选值的ID。我只希望当页面加载了下拉列表的预填充值时,initselection才起作用。感谢您的帮助

$(".venue-dropdown").select2({
    placeholder: "Enter venue name",
    allowClear: true,
    ajax: {
        url: $('#contextPath').val() + "/ajax/get-venue",
        dataType: 'json',
        delay: 250,
        data: function (params) {
            return {
                search: params.term, // search term
                page: params.page
            };
        },
        processResults: function (data) {
            return {
                //results: data.items,
                results: $.map(data, function (obj) {
                    return {
                        id: obj.uniqueName,
                        text: obj.name + ' (' + obj.postcode + ')'
                    }
                }),
            };
        },
        cache: true
    },initSelection: function(element, callback) {
        var id = $(element).val();
        if (id && id !== "") {
            $.ajax($('#contextPath').val() + "/ajax/get-venue", {
                data: {
                    search: id
                },
                dataType: "json",
                cache: false,
            }).done(function(data) {
                var result = {'id':data[0].uniqueName,'text':data[0].name};
                callback(result);
            });
        }
    },
    escapeMarkup: function (markup) {
        return markup;
    },
    minimumInputLength: 2
});
搜索>>>获取场地?搜索=eh8时生成的第一个ajax

选择选项2后,将遵循ajax请求

获取场地?搜索=SportExercisePleasemenceEH89TJ&=1488967266450

获取场地?搜索=sportexercisepleasanceeh89tj&=1488967266451