Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
动态更改数据源jqueryui在焦点上自动完成输入字符_Jquery_Jquery Ui_Autocomplete_Jquery Autocomplete - Fatal编程技术网

动态更改数据源jqueryui在焦点上自动完成输入字符

动态更改数据源jqueryui在焦点上自动完成输入字符,jquery,jquery-ui,autocomplete,jquery-autocomplete,Jquery,Jquery Ui,Autocomplete,Jquery Autocomplete,我正在尝试使用jQuery Autocomplete为输入框使用不同的数据源选项 我有一个id为#polysearch的输入框。我想用源选项“data1”自动完成焦点上的输入框(只需放置光标),并且我想在键入2个字符时用源选项“data2”自动完成输入框。 请帮忙 谢谢大家! 通过使用自动完成的源选项,您可以根据请求的长度自定义要使用的数组。术语(用户在框中键入的内容) 当输入被聚焦时,您还需要手动调用autocomplete的search方法,使其在聚焦时打开 这是我必须完成这项工作的代码 $

我正在尝试使用jQuery Autocomplete为输入框使用不同的数据源选项

我有一个id为#polysearch的输入框。我想用源选项“data1”自动完成焦点上的输入框(只需放置光标),并且我想在键入2个字符时用源选项“data2”自动完成输入框。 请帮忙


谢谢大家!

通过使用自动完成的
选项,您可以根据
请求的长度自定义要使用的数组。术语
(用户在框中键入的内容)

当输入被聚焦时,您还需要手动调用autocomplete的
search
方法,使其在聚焦时打开

这是我必须完成这项工作的代码

$(函数(){
var data1='abcdefghijklmnopqrstuvxyz'。拆分('';
var data2=“猫狗鱼鲨鱼独角兽萨斯夸奇火烈鸟野狗蛇鼠”。拆分(/\s+/g);
$('#in')。自动完成({
minLength:0,//因此它不需要键入任何内容就可以直接显示
来源:功能(请求、响应){
如果((request.term | |“”).length=0)
matchingItems.push(数组[i]);
}
if(matchingItems.length==0)
返回['No Matches'];
返回匹配项;
}
});
$(function() {
    var data1 = 'abcdefghijklmnopqrstuvwxyz'.split('');
    var data2 = 'cat dog fish shark unicorn sasquatch flamingo dingo snake mouse rat'.split(/\s+/g);

    $('#in').autocomplete({
        minLength: 0, // so it shows straight away without typing anything
        source: function (request, response) {
            if ((request.term || '').length <= 1)
               response(filter(data1, request.term));
            else
               response(filter(data2, request.term));
        }
    }).on('focus', function () {
        $(this).autocomplete('search', '');
    });

    function filter(array, searchTerm) {
        var matchingItems = [];
        for (var i = 0; i < array.length; i++) {
            if (array[i].indexOf(searchTerm.toLocaleLowerCase()) >= 0)
                matchingItems.push(array[i]);
        }
        if (matchingItems.length === 0)
            return ['No Matches'];
        return matchingItems;
    }
});