2011-05-23 107 views
0

您好我是jquery的新手,我正在做一个发送邮件的项目。 在项目中,当我键入发件人的名字字段时,它意味着带上自动提示字段。 但问题是,我需要的是用户的ID不是名字(但我无法显示ID到常规站点用户)。 我在考虑将返回的ID存储在隐藏字段中,同时将名称存储在表中。需要一个自动建议,从数据库返回一个ID和名字

请帮我一下,我该如何解决这个问题。

问题 1.当我输入文本框时,它能够返回用户名的首字母。 2.林不知道如何让自动提示返回的ID存储到一个隐藏字段标签

回答

0

jQuery的会自动提示工作。

[{"id":1, "label":"Joe"}, {"id":2,"label":"mike"}] (or you can use "value" instead of "label") 

您可以订阅它具有以下特征的select事件:

function(event, ui){//ui.item.id will have the value you are looking for} 

用户界面将有一个项目欢迎使用属性,因此您可以您可以从Ajax调用的形式返回数据使用ui.item.id并回收你正在寻找的id。这是一些更完整的代码。您需要替换您的网址,但是您的PHP需要搜索字词。

$("#autocomplete").autocomplete({ 
    source: function(req, resp){ 
     $.getJSON(){ 
      "search.php", 
      {searchTerm : req.term}, 
      function(data){ 
       resp(data); 
      } 
     } 
    }, 
    select : function(ev, ui){ 
     alert(ui.item.id); 
    } 
    }) 
+0

我不太清楚如何将3个代码块连接在一起。 – Tumi 2011-05-23 10:40:38

+0

Hi @ Tumi你真的不需要。第三块是重要的块。你只需要确保将数据正确地发送到php。您需要确保您的php以json数据的形式返回数据(格式如上所示)。随着用户开始输入自动完成,源代码方法将被调用。您使用req变量来获取用户输入的“term”。然后,您可以对您的页面进行ajax调用。 resp变量是一个回调。你简单的必须“回调”并传递结果(在我的函数中我称之为数据)。选择是在用户选择它时调用的。 – 2011-05-23 12:41:22