从自动填充中的一个选项中检索额外信息

时间:2014-11-02 18:01:52

标签: javascript jquery jquery-autocomplete jquery-ui-autocomplete

我终于设法从与字段搜索的名称相关的可用选项中检索列表。现在,我的目标是在用户从列表中选择特定选项时检索一些额外信息。 JSON仅返回人员的姓氏和用户ID,这是数据库中的自动增量字段。所以我认为我可以向服务器发送另一个JSON请求,以实际返回从用户ID指定的人员可用的所有信息。这被认为是不好的做法吗?有没有其他选择我可能会失踪? 总而言之,我的代码就在这里:

        <script>    
    $(function() {   
        $( "#search" ).autocomplete({
              delay: 0,
              minLength: 2,           
              source: function(request, response) {
              $.ajax({
              url: 'search.php', 
              data: { term: request.term }, 
              success: function(data) {  
                       data = JSON.parse(data);
                       response($.map(data, function(item) {
                       return {
                              label: item.firstName,
                              value: item.firstName};
                            }));
              }
            });
          }
        })
    });
    </script>

那么,我该如何实现这一目标呢? 我搜索了类似的主题,并在官方网站上阅读了文档,但找不到开始的方法。我认为以某种方式从第一次调用返回的结果应该附加到带有锚链接的DOM,如果我没有弄错,这个代码应该放在select属性中。但是,我对jquery和这些网络内容很新,并且无法弄明白。 任何帮助都感激不尽。提前谢谢。

1 个答案:

答案 0 :(得分:0)

这一切都取决于您需要返回多少额外数据。

如果它不多,那么将数据作为额外属性返回到您为自动完成结果返回的对象列表中是有意义的。

如果您认为需要太多额外数据才能使其可行,那么在自动完成的选择回调中,您可以使用ID值在另外的AJAX调用中获取所有其他信息到第二个Web返回传入的ID值的人员详细信息的服务。