Javascript 将Select2限制为只进行一次搜索

Javascript 将Select2限制为只进行一次搜索,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我想知道如何将select2上的搜索限制为仅1个搜索,我知道插件有一个设置最大输入长度的选项,但当使用它时,用户无法写入。我需要一个搜索与至少4封信,然后没有更多的申请服务器。希望有人能帮助我 编辑。下面是我实际选择的示例代码2 function formatResult(node) { return '<div>' + node.something + ' ' + '-' + ' ' + node.something + '</div>'; } functio

我想知道如何将select2上的搜索限制为仅1个搜索,我知道插件有一个设置最大输入长度的选项,但当使用它时,用户无法写入。我需要一个搜索与至少4封信,然后没有更多的申请服务器。希望有人能帮助我

编辑。下面是我实际选择的示例代码2

function formatResult(node) {
    return '<div>' + node.something + ' ' + '-' + ' ' + node.something + '</div>';
}

function formatSelection(node) {
    return '<div>' + node.something + ' ' + '-' + ' ' + node.something + '</div>';
}

$("#element").select2({
    ajax: {
        url: "api_url",
        dataType: 'json',
        delay: 2250,
        data: function (params) {
            return {
                search: params,
                page: 10,
                format: 'json'
            };
        },
        results: function (data, page) {
            return {
                results: data.results
            };
        },
        cache: true
    },
    minimumInputLength: 4,
    formatResult: formatResult,
    formatSelection: formatSelection
});
函数formatResult(节点){
返回'+node.something+'+'-'++'+node.something+'';
}
函数格式选择(节点){
返回'+node.something+'+'-'++'+node.something+'';
}
$(“#元素”)。选择2({
阿贾克斯:{
url:“api_url”,
数据类型:“json”,
延误:2250,
数据:函数(参数){
返回{
搜索:params,
页码:10,
格式:“json”
};
},
结果:功能(数据、页面){
返回{
结果:数据。结果
};
},
缓存:真
},
最小输入长度:4,
formatResult:formatResult,
formatSelection:formatSelection
});

最小输入长度
更改为
最大输入长度


这将向用户显示,如果超过4,他们需要删除一个字符。下面是一个粗略的示例

请提供一些示例代码“一次搜索”是什么意思?在这种情况下,“搜索”的定义是什么?@Parker我只希望在用户写4封或更多信后向服务器提交一份申请(实际上,select2在最小输入长度后为每个信向服务器提交一份申请)。如果他们键入4封信,然后删除2封,是否允许他们再次ping服务器?我可能有一个解决方案,我只需要知道完整的逻辑。另外,您希望它停止呼叫服务器吗?还是让它停止返回?如果你解释你对这个约束的推理,可能会更容易workarounds@Parker我想停止给服务器打电话。Bassily需要用户类型,在这4个字母开始服务器调用之后,停止任何服务器调用。这是可行的,但我还有另一个问题,是否有任何方法可以过滤更多的结果而不产生更多的ajax请求?我非常确定ajax调用会在您查看之后停止,如果没有,则Select2中没有支持的方法。从理论上讲,您可以修改AJAX url,使其变为零,但这有点粗糙。我可以问你为什么要阻止AJAX调用吗?