2009-11-03 126 views
0

我有一个web服务jQuery的自动完成结果

[Serializable] 
    public class DataObject 
    { 
     public int ID { get; set; } 
     public string Description { get; set; } 
    } 


    [WebMethod] 
    public DataObject[] GetCities(string q, int limit) 
    { 
     // A collection to hold our results 
     List<DataObject> customers = new List<DataObject>(); 

     // Our source of names, could be a DB query 
     string[] db = new string[]{"aaa","bbb","ccc","ddd","ddsads","asdsad","asdsad","dsfsfd"}; 

     // Looping through the datasource to select the items that match 
     int i=0; 
     foreach(string cust in db) 
     { 

      if(cust.ToLower().StartsWith(q.ToLower())) 
      { 
       i++; 
       customers.Add(new DataObject { Description = cust, ID = i }); 
      } 
     } 

     // Return the items that contained the text in alphabetical order 
     return customers.ToArray(); 

    } 

的Javascript:

// and in my javascript I use jquery autocomplete like this 
$("#txtCity").autocomplete("Autocomplete.asmx/GetCities", { dataType: "xml", datakey: "Description", max: 5 }); 

的问题是: 我怎样才能在JavaScript中的自动完成所选项目的ID? 我想将它传递给另一个函数。

回答

2

您需要添加一个结果处理程序:

$("#txtCity").autocomplete("<Your existing stuff here>").result(
     function(event, item, formatted) 
     { 
      // Use the item property 
     } 
    ); 
+0

哪个js我需要使它工作? 因为我得到错误“对象不支持....” 10X – haddar 2009-11-03 13:40:30

+0

您需要jquery.autocomplete.js和jquery.js。 – GenericTypeTea 2009-11-03 13:57:29

+0

不能正常工作.... 对象不支持 任何想法为什么? – haddar 2009-11-04 09:18:40