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
Jquery 下拉列表搜索/自动完成_Jquery_Html_Ajax_Asp Classic_Autocomplete - Fatal编程技术网

Jquery 下拉列表搜索/自动完成

Jquery 下拉列表搜索/自动完成,jquery,html,ajax,asp-classic,autocomplete,Jquery,Html,Ajax,Asp Classic,Autocomplete,是否有方法从dropdownlist的搜索框中返回至少包含一个单词的项目 有很多ajax教程,但它们都返回包含整个搜索文本的项目 直到现在我还在使用 我需要更改正则表达式以实现我想要的: // Initialize ajax autocomplete: $('#autocomplete-ajax').autocomplete({ // serviceUrl: '/autosuggest/service/url', lookup: countriesArray, looku

是否有方法从dropdownlist的搜索框中返回至少包含一个单词的项目

有很多ajax教程,但它们都返回包含整个搜索文本的项目

直到现在我还在使用

我需要更改正则表达式以实现我想要的:

// Initialize ajax autocomplete:
$('#autocomplete-ajax').autocomplete({
    // serviceUrl: '/autosuggest/service/url',
    lookup: countriesArray,
    lookupFilter: function(suggestion, originalQuery, queryLowerCase) {
        var re = new RegExp('\\b' + $.Autocomplete.utils.escapeRegExChars(queryLowerCase), 'gi');
        return re.test(suggestion.value);
    },
    onSelect: function(suggestion) {
        $('#selction-ajax').html('You selected: ' + suggestion.value + ', ' + suggestion.data);
    },
    onHint: function (hint) {
        $('#autocomplete-ajax-x').val(hint);
    },
    onInvalidateSelection: function() {
        $('#selction-ajax').html('You selected: none');
    }
}); 

您可以更改RegExp以在建议中的任何位置搜索整个单词,如下所示:

var re = new RegExp('\\b' + $.Autocomplete.utils.escapeRegExChars(queryLowerCase) + '\\b', 'gi');
lookupFilter: function(suggestion, originalQuery, queryLowerCase) {
    return re.test(suggestion.value.indexOf(queryLowerCase) != -1);
},
否则,如果只想搜索单词的一部分,可以更改为indexOf,如下所示:

var re = new RegExp('\\b' + $.Autocomplete.utils.escapeRegExChars(queryLowerCase) + '\\b', 'gi');
lookupFilter: function(suggestion, originalQuery, queryLowerCase) {
    return re.test(suggestion.value.indexOf(queryLowerCase) != -1);
},

到目前为止您做了什么/尝试了什么?@GSDa您能展示一下您的代码以提供帮助吗?如果我们不知道你做了什么或至少尝试了做什么,有谁能帮助你?@urbz I更新了帖子@AllBlond我更新了帖子!谢谢你的回复,我发现了模糊libs。我现在正在使用FuzzySet.js,它在搜索中更有效。