javascript - jQuery UI 自动完成小部件 : Edit search term before perform search

标签 javascript jquery jquery-ui autocomplete

我在文本输入上使用自动完成小部件 (#MapSearchName)。源是一个简单的字符串数组 (MapListNames)。我需要在显示自动完成结果之前修改搜索词。

在我的例子中,MapListNames数组内容是西里尔语字符串,当用户用西里尔语搜索时它会起作用。当用户也用拉丁语搜索时,我希望自动完成功能能够建议搜索结果。我编写了一个 Met2Kir() 函数,它将拉丁字符串转换为西里尔字符串。

我发现这应该通过使用请求/响应函数来完成,但是在自动完成文档中没有描述得特别清楚,我无法猜测正确的方法应该是什么。

这是我的代码:

    $( "#MapSearchName" ).autocomplete({
    // source: MapListNames,
    delay: 0,
    autoFocus: true,

    source: function( request, response ) {
      var term = Met2Kir(request.term);
      response(  MapListNames, function( item ){
          return term;
      } );
    }   

});

我需要一些有关 source: 部分的帮助,以便任何用户输入在发送进行搜索之前都由 Met2Kir() 函数进行处理。

整个情况可以在这里找到:Lyaskovets Citymap (它是保加利亚语,但#MapSearchName位于 map 正下方)

JS代码在citymap.js file末尾

最佳答案

这可以通过将结果过滤到新数组并将其发送回 response() 来完成。例如:

$("#MapSearchName").autocomplete({
  delay: 0,
  autoFocus: true,
  source: function( request, response ) {
    var term = Met2Kir(request.term);
    var results = $.ui.autocomplete.filter(MapListNames, term);
    response(results);
  }
});

关于javascript - jQuery UI 自动完成小部件 : Edit search term before perform search,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102916/

相关文章:

javascript - 自动完成的递归标签搜索 - jQuery 插件

javascript - 如何从 Apollo 客户端的 useQuery 获取响应头

javascript - 如何打印3个项目,与2个输入(价格和数量)相关

javascript - Highcharts根据选项改变原型(prototype)函数

javascript - 如何从下拉列表复选框中删除所选项目

jquery - 每个单选按钮的自定义背景图像

javascript - 是否可以使用 Javascript 插入或删除数据库记录?

javascript - 如何选择除我在 jquery 中悬停的元素之外的所有元素

javascript - 计算用户定义数字的百分比

javascript - 我如何在 Typescript 中进行自动完成?有 jquery.d.ts & jquery.autocomplete.d.ts 文件