jquery 快速搜索 - 特殊字符

问题描述 投票:0回答:2

我正在使用 Jquery fastsearch 插件。

这是一个很棒的插件,但我的一个网站遇到了问题。

在表中,我有包含带重音符号的字符串,例如 ò、ü、ä 等。 问题是用户不需要使用重音符号进行搜索。

我想要实现的是,例如,当有人输入“ola”时,搜索结果也会显示包含“ölä”的结果

知道如何做吗?

jquery-plugins special-characters diacritics quick-search
2个回答
0
投票

您需要将您的值存储在表中的两列中:1)原始2)干净。 1) 原始词——如 ò、ü、ä 等。 2) 干净 - 没有像 o、u、a 这样的重音符号。

为了让“干净”,你需要一个转换函数,在更新或插入表时,这样做并不难。

因此,当用户输入搜索术语时,您可以查看“clean”和“raw”这两列。


0
投票

您可以使用prepareQuery和testQuery创建自定义查询来搜索您的寄存器

像这样:

prepareQuery: function (val) {
     return val.toLowerCase();
},

以及 testQuery 方法:

   testQuery: function (query, txt, _row) {

      let customQuery = query.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
      let customTxt = txt.normalize('NFD').replace(/[\u0300-\u036f]/g, '');

      return customTxt.startsWith(customQuery);
     }
© www.soinside.com 2019 - 2024. All rights reserved.