自动填充多个关键字

我不确定它是否可行,但我想这样做,以便jquery-ui自动完成function可以使用多个关键字来获得相同的结果。

这是一个例子,但它相当陈旧,我似乎无法让它工作,即使使用旧的jquery文件。 我不熟悉jquery和javascript,但我可以设法编辑现有的东西。

这是我目前拥有的(没有对多关键字进行任何调整):

 $(document).ready(function() { NewAuto(); }); function NewAuto() { var products = [  ]; $("#keyword").autocomplete({ source: function(requestObj, responseFunc) { var matchArry = products.slice(); // Copy the array var srchTerms = $.trim(requestObj.term).split(/\s+/); // For each search term, remove non-matches. $.each(srchTerms, function(J, term) { var regX = new RegExp(term, "i"); matchArry = $.map(matchArry, function(item) { return regX.test(item) ? item : null; }); }); // Return the match results. responseFunc(matchArry); }, open: function(event, ui) { // This function provides no hooks to the results list, so we have to trust the selector, for now. var resultsList = $("ul.ui-autocomplete > li.ui-menu-item > a"); var srchTerm = $.trim($("#keyword").val()).split(/\s+/).join('|'); // Loop through the results list and highlight the terms. resultsList.each(function() { var jThis = $(this); var regX = new RegExp('(' + srchTerm + ')', "ig"); var oldTxt = jThis.text(); jThis.html(oldTxt.replace(regX, '$1')); }); } }); }  

如果我正确理解你的问题,你想显示匹配相同句子的多个单词的列表。

点击这里举例

    Testing        

我得到城市地区名称表格DB并使用自动完成显示它。

  function GetLocalityList() { var LocalityArray = []; $.post("MvcLayer/Index/GetLocalityList", { CityID: $('#sltCity').val() }, function(data) { // My sql query will be like this select LocalityID, CityID, LocalityName from tablename where CityID = 20 // Here (data) is array format. Like this // [{"LocalityID":9397,"CityID":55,"LocalityName":"Adugodi"},{"LocalityID":9398,"CityID":55,"LocalityName":"Aga Abbas Ali Road"},{"LocalityID":9399,"CityID":55,"LocalityName":"Agaram"},{"LocalityID":9400,"CityID":55,"LocalityName":"Agrahara Dasara Halli"},{"LocalityID":9401,"CityID":55,"LocalityName":"Agrahara Dasarahalli"},{"LocalityID":9402,"CityID":55,"LocalityName":"Airport Exit Road"},{"LocalityID":9403,"CityID":55,"LocalityName":"Horamavu"},{"LocalityID":9404,"CityID":55,"LocalityName":"Hosakere Halli"},{"LocalityID":9405,"CityID":55,"LocalityName":"Hennur"},{"LocalityID":9406,"CityID":55,"LocalityName":"Hesaraghatta"},{"LocalityID":9407,"CityID":55,"LocalityName":"HKP Road"},{"LocalityID":9408,"CityID":55,"LocalityName":"HMT Layout"},{"LocalityID":9409,"CityID":55,"LocalityName":"Hongasandra"},{"LocalityID":9410,"CityID":55,"LocalityName":"Hoody"},{"LocalityID":9411,"CityID":55,"LocalityName":"Hayes Road"} ] $.each(data, function(key, value) { LocalityArray[key] = value.LocalityName; }); $("#txtLocality" + SelectedTab).autocomplete({ minLength: 1, source: function(req, responseFn) { // \\b show each match letter in each word of list // ^ show each match letter in whole word of list var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex(req.term), "i"); var a = $.grep(LocalityArray, function(item, index) { return matcher.test(item); }); responseFn(a); } }); }, 'json' ); }