在jquery typeahead.js中列出重复的键

在jquery typeahead.js中列出重复的键,jquery,typeahead.js,Jquery,Typeahead.js,我有一个HTML表单,用户应该在其中填写“城市”和“州”输入。“city”输入由typeahead.js支持,当用户从列表中选择一个城市时,“city”和“state”都会更新: <input id="city" name="city" type="text" autocomplete="off"/> <input id="state" name="state" type="text"/> typeahead列表将仅填充 Campinas, AC Campinas do

我有一个HTML表单,用户应该在其中填写“城市”和“州”输入。“city”输入由typeahead.js支持,当用户从列表中选择一个城市时,“city”和“state”都会更新:

<input id="city" name="city" type="text" autocomplete="off"/>
<input id="state" name="state" type="text"/>
typeahead列表将仅填充

Campinas, AC
Campinas do Piaui, PI
Campinas do Sul, RS

我实现了一个变通方法,为每个城市包含一个唯一的id,将“id”设置为“valueKey”,并在“typeahead:selected”事件中使用城市名称更新“city”输入,而不是id。但是这个变通方法打破了typeahead的自动完成功能,当用户在列表中导航时,输入值会被“unfriendly”覆盖id代码。

我的理解是,typeahead默认删除重复的项目,并且默认情况下,项目的唯一性由“valueKey”字段确定

我认为它可能只在最新的beta版本中,但它看起来像,它允许您提供一个函数,用于确定项目的唯一性


从中可以看出,“dupChecker”选项只是针对您这样的情况添加的。

感谢您的指导。作为一个快速修复,我做了
[
    { "city": "Campinas", "state": "AC" },
    { "city": "Campinas", "state": "RS" },
    { "city": "Campinas", "state": "SP" },
    { "city": "Campinas do Piaui", "state": "PI" },
    { "city": "Campinas do Sul", "state": "RS" }
]
Campinas, AC
Campinas do Piaui, PI
Campinas do Sul, RS