Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 自动完成上的minLength 3和一个使用minLength 0手动搜索的按钮_Javascript_Jquery_Autocomplete - Fatal编程技术网

Javascript 自动完成上的minLength 3和一个使用minLength 0手动搜索的按钮

Javascript 自动完成上的minLength 3和一个使用minLength 0手动搜索的按钮,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我正在尝试创建一个自动完成功能,当由于结果集的大小而键入的字符少于3个时,不会触发搜索。然而,有些名字的名和姓实际上只有1到2个字母 解决方案是允许用户单击输入中的放大镜以提交,或“强制通过”具有1或2个字符值的查询 这就是我所处的位置: HTML: jquery: $('#mainSearch').autocomplete({ appendTo: ".inputWrapper", minLength: 3, source: function (request, re

我正在尝试创建一个自动完成功能,当由于结果集的大小而键入的字符少于3个时,不会触发搜索。然而,有些名字的名和姓实际上只有1到2个字母

解决方案是允许用户单击输入中的放大镜以提交,或“强制通过”具有1或2个字符值的查询

这就是我所处的位置: HTML:


jquery:

$('#mainSearch').autocomplete({
    appendTo: ".inputWrapper",
    minLength: 3,
    source: function (request, response) {
        var customer = new Array();
        $.ajax({
            async: false,
            cache: false,
            type: "POST",
            url: "//database//EmployeeDirectory/",
            data: { "filterText": request.term },
            error: function (data) { console.log('Error!'); },
            success: function (data) {
                for (var i = 0; i < data.length ; i++) {
                    customer[i] = {
                        label: data[i].FullName,
                        Id: data[i].UserID
                    };
                }
            }
        });
        response(customer);
    }
});

$('.bgbutton').on('click', function () {
    $('#mainSearch').autocomplete('option', 'minLength', 0);
    $('#mainSearch').autocomplete('search', '');
});
$('mainSearch')。自动完成({
附录:“.inputWrapper”,
最小长度:3,
来源:功能(请求、响应){
var customer=新数组();
$.ajax({
async:false,
cache:false,
类型:“POST”,
url://数据库//EmployeeDirectory/“,
数据:{“filterText”:request.term},
错误:函数(数据){console.log('error!');},
成功:功能(数据){
对于(变量i=0;i
第一次试一试就可以了。但一旦输入2个字符,单击提交按钮,所有自动完成功能的minLength将设置为0。并且退格到一个字符将生成一个完整的查询


如何两个自动完成函数都有独立的最小长度?

如果看不到所有代码,很难确定。但是,如果在按钮单击事件结束时立即将minLength重置为3,会发生什么情况

$('.bgbutton').on('click', function () {
    $('#mainSearch').autocomplete('option', 'minLength', 0);
    $('#mainSearch').autocomplete('search', '');
    $('#mainSearch').autocomplete('option', 'minLength', 3);
});

好主意,我也试过同样的方法。它实际上不允许按钮工作。只要再试一次就行了!!!谢谢~!当您获得Ajax成功时,可能会将其设置回3奇怪的问题是,2个字符的搜索会给出不匹配的结果。因此,我检查以确保DB查询在正确的位置并且它们没有接收到数据:{“filterText”:request.term}在按钮上,仅在自动完成键入上按一下…结果是$(“#mainSearch”).autocomplete('search',''); 需要有字段值$('mainSearch').autocomplete('search',$('mainSearch').val();
$('.bgbutton').on('click', function () {
    $('#mainSearch').autocomplete('option', 'minLength', 0);
    $('#mainSearch').autocomplete('search', '');
    $('#mainSearch').autocomplete('option', 'minLength', 3);
});