Javascript 使用与标题不同的值自动完成

Javascript 使用与标题不同的值自动完成,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我试图使用jquery生成一个自动完成表单,但遇到了一个问题。我试图做到这样,当用户开始输入我们数据库中某个地方的名称时,它会在自动完成中向他们显示该地方的全名,但当他们单击它时,文本框中就会充满可以通过谷歌地图找到的地方的地址。实现这一点的最佳方法是什么?可能使用JSON对象将整个“Person”对象传递到javascript中。然后你可以选择你想要的每一个对象的位置。这里是一些代码的粗略草图,可以让你开始。它绝不是完整的,但它应该给你一个很好的起点。希望能有帮助 $("#mySearchBo

我试图使用jquery生成一个自动完成表单,但遇到了一个问题。我试图做到这样,当用户开始输入我们数据库中某个地方的名称时,它会在自动完成中向他们显示该地方的全名,但当他们单击它时,文本框中就会充满可以通过谷歌地图找到的地方的地址。实现这一点的最佳方法是什么?

可能使用JSON对象将整个“Person”对象传递到javascript中。然后你可以选择你想要的每一个对象的位置。

这里是一些代码的粗略草图,可以让你开始。它绝不是完整的,但它应该给你一个很好的起点。希望能有帮助

$("#mySearchBox").change(function(){
/*
    send a ajax request to receive a json object.
    We use the callback function to populate the 
    a div tag "autocomplete" with the names
*/
$.getJSON("http://myurl.com/myPage?search="+$(this).val()
        function(data){
          $.each(data.items, function(i,item){
            /*
                Assume item looks like this

                item = {[{"address": 100 Main st",
                           "name": "Bob and Joe's Dinner"],
                            ...
                       }
            */              
                /* Populate autocomplete with new spans
                   We use the text attribute to hold the address
                   You may want to look in to jquery data() feature. 
                */
                $("#autoComplete").append('<span text="'+ item.address +
                                          '" class="searchResult">'+ item.name +'</span>');
          });
        });

您使用的是哪个jquery自动完成插件?
$("#autoComplete .searchResults").click(function(){
    /*  
        Here we handle what the user clicks on.
        Pull out the address from the attr and 
        put that back in the mySearchBox
    */
    var address = $(this).attr("text");

    //Load the adress back int the textfield
    $("#mySearchBox").val = address;
});