如何在jQuery中修复文本框上的自动完成功能?

| 我将jquery.autocomplete.js用于自动完成文本框。 我在按键事件中获取了所有位置记录。 按键事件我传递了位置文本框的文本值。 对于等式我写文本“ Lo”,然后每次我从SQL数据库获得新建议时,它都会得到所有以“ Lo”开头的记录。 我的问题是。我在文本框下看到了两个,三个或更多列表框作为建议。 我编写了.unautocomplete()方法来删除每个按键事件中的先前建议列表。 如何修复文本框中以前的取消自动列表。 在我的自动填充中,我看到自动填充建议列表显示了多个建议列表。 如何解决这个问题。 下面我写了我的代码。          
<script>
$(\'#<%= txtLocation.ClientID %>\').onkeypress(function () {
  if ($(\'#<%= txtLocation.ClientID %>\').val().length >= 1) {
    GetCitiesLikeList($(\'#<%= txtLocation.ClientID %>\').val());
  }
});

function GetCitiesLikeList(objcity) {
    if (objcity != null && objcity != \"\") {        
         $.ajax({
            type: \"POST\",
            url: \"http://www.myweburl.com/webservices.asmx/GetCitiesLikeList\",
            data: \"{ City : \'\" + objcity + \"\'}\",
            contentType: \"application/json; charset=utf-8\",
            dataType: \"json\",
            success: function(msg) { 
                if (msg.d != null && msg.d != \"\") {            
                    cities = msg.d.split(\",\");                    
                    $(\".location\").autocomplete(cities, {
                        matchContains: true,
                        minChars: 0
                    });
                }
                else
                 $(\".location\").unautocomplete();
            },
            error: function(xhr, ajaxOptions, thrownError) {return false;}
        });
    }
    else
        $(\".location\").unautocomplete();
}
</script>
查看此图像,我的自动完成程序建议列表中有什么问题。 给我解决方案。 -谢谢 阿比     
已邀请:
您不需要使用独立的自动完成插件,因为它已成为jQueryUI的一部分。     
我不确定我是不是100%正确地理解了您的意思,但有几件事: 您不需要手动等待jQuery UI自动完成的
keypress
事件。当您在元素上调用
.autocomplete()
时,它已经为您做到了。 自动完成功能还具有使用您在此处执行的AJAX处理项目填充的功能。 因此,我之所以对您获得双倍的排名的猜测是因为,从技术上讲,您正在(自动)执行自动填充功能。     

要回复问题请先登录注册