即使输入与任何字符串都不匹配,如何在 Jquery 自动完成中显示所有选项
How to display all options in Jquery auto complete even if the input does not match any of the strings
我正在使用 jquery 自动完成功能在用户开始书写时填充城市名称。这些城市来自多个国家,我现在要做的是在用户输入国家名称时填充相关城市。
因此,例如,如果用户输入 '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
中的技巧
如果搜索输入包含一个国家/地区的名称,您可以获得该国家/地区的城市列表并执行以下操作:
$( "#citySearch" ).autocomplete({ source: citySearchList, minLength :0 });
$( "#citySearch" ).autocomplete("search", "");
当输入的不是数据中的国家/地区名称时,您只需将源更改回原始数据即可。
将minLength设置为0,然后使用search方法搜索"",将显示自动补全源数组中的所有数据。
我正在使用 jquery 自动完成功能在用户开始书写时填充城市名称。这些城市来自多个国家,我现在要做的是在用户输入国家名称时填充相关城市。
因此,例如,如果用户输入 '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
中的技巧如果搜索输入包含一个国家/地区的名称,您可以获得该国家/地区的城市列表并执行以下操作:
$( "#citySearch" ).autocomplete({ source: citySearchList, minLength :0 });
$( "#citySearch" ).autocomplete("search", "");
当输入的不是数据中的国家/地区名称时,您只需将源更改回原始数据即可。
将minLength设置为0,然后使用search方法搜索"",将显示自动补全源数组中的所有数据。