即使输入与任何字符串都不匹配,如何在Jquery自动完成中显示所有选项

时间:2015-03-18 14:46:07

标签: jquery ajax autocomplete

我正在使用jquery auto complete来填写用户开始编写时的城市名称。这些城市来自多个国家,如果用户输入国家/地区名称,我现在要做的就是填充相关城市。

因此,例如,如果用户输入'San',jquery将使用['San Diego','Santiago']填充自动完成。现在,如果用户在美国输入,我希望自动完成填充['New York City', 'Boston', 'Seattle', 'San Diego', etc..]

我可以做的是创建HashMap,其中国家/地区为关键,城市列表为值。然后,只要输入与国家/地区名称匹配,我就可以适当地更改自动完成的来源。

$( "#citySearch" ).autocomplete({source: citySearchList});

现在问题是显示源中的所有选项,即使United States在自动完成的正常实现中不会触发['New York', 'Boston', etc..]

我尝试使用this answer

中的技巧

1 个答案:

答案 0 :(得分:1)

如果搜索输入包含国家/地区的名称,您可以从该国家/地区获取城市列表并执行以下操作:

$( "#citySearch" ).autocomplete({ source: citySearchList, minLength :0 });
$( "#citySearch" ).autocomplete("search", "");

如果输入不是数据中的国家/地区名称,则只需将源更改回原始数据即可。

将minLength设置为0然后使用搜索方法搜索“”将显示自动完成源数组中的所有数据。