我一直在自定义Jquery UI自动完成,以确保用户只提交来自geonames数据源的数据。
选择城市名称后,我还会从地理名称网络服务中检索国家/地区,纬度和经度,并将其添加到隐藏的输入中。
为了确保人们从建议列表中实际选择一个城市,如果您点击建议列表,我会清除输入。
(我也在php中做一些验证)
问题:点击建议列表后,除非按空格键,否则在键入城市名称时不会重新显示。我不确定是什么导致这种情况..当你输入一个有空格的城市时,有时候建议清单会消失。
有人可以分享一些指导吗?我也欢迎任何其他建议!
答案 0 :(得分:1)
autocomplete插件曾经有一个名为“mustMatch”的选项 - 它做了你想要的但后来被删除了。
我相信您可以按照以下说明重新实施:
How to implement "mustMatch" and "selectFirst" in jQuery UI Autocomplete?
另一个选项:
使用以下丑陋的解决方法替换您的更改(在您的修订小提琴中)或关闭(在原始小提琴中):
change: function (event, ui) {
//if the value of the textbox does not match a suggestion, clear its value
if ($(".ui-autocomplete li:textEquals('" + $(this).val() + "')").size() == 0) {
$(this).val('####');
$(this).autocomplete("search");
$(this).val('');
$(this).autocomplete("close");
}
}