帮助Jquery自动完成 - 差不多完成了

时间:2011-06-09 21:35:01

标签: jquery html ajax geocoding

我一直在自定义Jquery UI自动完成,以确保用户只提交来自geonames数据源的数据。

DEMO

选择城市名称后,我还会从地理名称网络服务中检索国家/地区,纬度和经度,并将其添加到隐藏的输入中。

为了确保人们从建议列表中实际选择一个城市,如果您点击建议列表,我会清除输入。

(我也在php中做一些验证)

问题:点击建议列表后,除非按空格键,否则在键入城市名称时不会重新显示。我不确定是什么导致这种情况..当你输入一个有空格的城市时,有时候建议清单会消失。

有人可以分享一些指导吗?我也欢迎任何其他建议!

1 个答案:

答案 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");                    
            }
        }