You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Choices-js数字与空格筛选异常:如何配置实现精准搜索?

解决Choices-js搜索匹配异常的配置方案

针对你遇到的搜索问题,只需在初始化Choices时添加自定义搜索函数及相关配置,即可实现精准的子字符串匹配,覆盖数字开头和空格结尾的搜索场景:

const element = document.querySelector('#telephone');
const choices = new Choices(element, {
  // 自定义搜索函数,精确匹配包含完整搜索词的选项
  searchFn: (searchValue, choices) => {
    return choices.filter(choice => {
      // 同时匹配选项的显示文本和值字段
      return choice.label.includes(searchValue) || choice.value.includes(searchValue);
    });
  },
  // 关闭默认排序,保持选项原有顺序
  shouldSort: false,
  // 确保搜索保留原始输入字符(如空格),不做预处理
  searchChoices: true
});

配置说明:

  • 自定义searchFn:通过includes方法严格判断选项是否包含完整搜索词,避免默认模糊搜索的误匹配,确保"0906"只匹配含该串的选项," 11"也能精准匹配带空格的结尾内容。
  • shouldSort: false:关闭搜索结果的自动排序,维持选项原有排列顺序。
  • searchChoices: true:保证搜索功能正常启用,且不对输入的特殊字符(如空格)做过滤处理。

验证效果:

  • 搜索"0906":仅显示0906-68712选项,其余隐藏。
  • 搜索" 11":仅显示0904-687 11选项,其余隐藏。
  • 搜索"738":正常显示0901-68738选项。

内容的提问来源于stack exchange,提问作者toni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 00:46:26