如何将多维数组传递给jquery ui自动完成?

Car*_*eis 3 javascript arrays jquery jquery-ui

我有一个自动完成字段,并将其源设置为一组朋友.

 GetFollowing(9, function(response)
                    {
                        if (response)
                        {
                            donor.following = response;
                            for (var i = 0; i < response.length -1; i++)
                            {
                                // make sure we have an image to display
                                if (response[i].image != null)
                                {
                                    $("#following").prepend("<li title='" + response[i].firstname + " " + response[i].lastname +
                                        "'><img src='<?php echo $baseUrl;?>/uploads/profile-pictures/" + response[i].image +
                                        "' alt='" + response[i].firstname + " " + response[i].lastname + "'/></li>");

                                    // add to the friends array
                                    if (! $.inArray(response[i].firstname + " " + response[i].lastname, friends))
                                        friends.push(response[i].firstname + " " + response[i].lastname);
                                }
                            }
                        }
                    });
                    GetFollowers(9, function(response)
                    {
                        if (response)
                        {
                            donor.followers = response;
                            for (var i = 0; i < response.length -1; i++)
                            {
                                // make sure we have an image to display
                                if (response[i].image != null)
                                {
                                    $("#followers").prepend("<li title='" + response[i].firstname + " " + response[i].lastname +
                                        "'><img src='<?php echo $baseUrl;?>/uploads/profile-pictures/" + response[i].image +
                                        "' alt='" + response[i].firstname + " " + response[i].lastname + "'/></li>");

                                    // Add to the friends array
                                    friends.push(response[i].firstname + " " + response[i].lastname);
                                }
                            }
                        }
                        // setup jquery-ui autocomplete
                        $("#msg-to").autocomplete({source: friends});
                    });
Run Code Online (Sandbox Code Playgroud)

我的问题是我需要将id与所选的值相关联,如何才能完成?

Jos*_*eph 5

http://jqueryui.com/demos/autocomplete/

你应该阅读更多概述.

预期的数据格式

来自本地数据,网址或回调的数据可以有两种变体:

  • 字符串数组:

[ "Choice1", "Choice2" ]

  • 具有标签和值属性的对象数组:

[ { label: "Choice1", value: "value1" }, ... ]

label属性显示在建议菜单中.用户从菜单中选择了某些内容后,该值将插入到input元素中.如果仅指定了一个属性,则它将用于两者,例如.如果仅提供value-properties,则该值也将用作标签.

使用标签进行文本表示,选择中每个项目的id值.

您还应该区分用于可视版本(显示单词)的文本框与数据版本(包含id的隐藏输入) - 类似于datepicker小部件(也称为备用数据)的文本框.这一切都可以使用设置进行操作.