2009-11-03 7 views
0

J'ai un webservicejquery autocomplete résultats

[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 }); 

la question est: comment puis-je en javascript l'ID de l'élément sélectionné dans la saisie semi-automatique? Je veux passer à une autre fonction.

Répondre

2

Vous devez ajouter un gestionnaire de résultats:

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

De quoi ai-je besoin pour le faire fonctionner? parce que j'obtiens l'erreur "l'objet ne soutient pas ...." 10X – haddar

+0

Vous avez besoin jquery.autocomplete.js et jquery.js. – GenericTypeTea

+0

ne fonctionne pas .... objet ne supporte pas aucune idée pourquoi? – haddar