Jquery选择2搜索时如何调用自定义函数

Jquery选择2搜索时如何调用自定义函数,jquery,jquery-select2,Jquery,Jquery Select2,我有一个简单的选择2: <div class="form-group form-material col-4" > <select class="form-control" id="mySelect" name="mySelect" data-plugin="select2" data-minimum-input-length="3" required

我有一个简单的选择2:

<div class="form-group form-material col-4" >
    <select class="form-control" id="mySelect" name="mySelect" data-plugin="select2" data-minimum-input-length="3" required>
    </select>
</div>

<script>
    $( document ).ready(function() {
        let myLoading = $('#myLoading'); // image centered in the screen
        let mySelect = $('#mySelect');
        
        myLoading.hide();
        
        let js_mySelect = {
            init: function () {
                mySelect.select2({
                    ajax: {
                        url: 'myUrl',
                        dataType: 'json'
                    }
                });
            },
        };
        js_mySelect.init();
    }
</script>

它们在浏览器控制台中运行时不会出现任何错误。

您可以在Ajax请求的URL参数中设置一个函数

let js_mySelect = {
init: function () {
    mySelect.select2({
        ajax: {
            url: function() { console.log("Test"); return 'myUrl'},
            dataType: 'json'
        }
    });
},

})

最后,如果您加快ajax调用速度,这样用户就不必等待select来显示可能的条目,那么它的可用性就会大大提高。@ClausBönnhoff您是认真的吗??通知用户请求正在处理中对于更好的用户体验至关重要。不足以加快通话速度,即使这是显而易见的,而且已经完成了。。。此外,详细说明可能需要一些时间,因此必须通知用户它正在进行中,而不是什么也不显示,在这种情况下,用户可能会认为出现了问题或开发不良。是的,我是认真的,如果创建选择列表的时间超过1s,我将永远不会使用此软件。指向如果不可能做到这么快,那么下拉选择就不是正确的选择…@ClausBönnhoff我不同意你的观点,我的呼叫执行复杂的统计计算,因此它永远不会在几秒钟内结束。客户知道这一点,不想花费更多的钱来优化/准备之前的数据。那么,你能帮我回答我的问题吗?在Ajax请求中,在url处使用函数而不是静态值。在那里,您可以在返回url之前执行任何操作
let js_mySelect = {
init: function () {
    mySelect.select2({
        ajax: {
            url: function() { console.log("Test"); return 'myUrl'},
            dataType: 'json'
        }
    });
},