Используйте выберите событие,
Если ваш объект выглядит как {'label':'A', 'value':'A', 'ID':'7897975'}
$( ".selector" ).autocomplete({
select: function(event, ui) {
$('#hiddenField').val(ui.item.ID);//Item is your selected object.
}
});
Обновление:
Я никогда не работал на C #.Но должен быть любой встроенный парсер JSON.
В java я создаю формат JSON, подобный этому,
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = null;
for(Country country : countries){
jsonObject = new JSONObject();
jsonObject.put("label", country.getName());
jsonObject.put("value", country.getCode());
jsonObject.put("id", country.getId().toString());
jsonArray.add(jsonObject);
}
String json = jsonArray.toJSONString();//The json string will look like, [{'label':'A', 'value':'A', 'id':'7897925'},{'label':'B', 'value':'B', 'id':'7497975'},{'label':'C', 'value':'C', 'id':'7843975'},{'label':'D', 'value':'D', 'id':'7857975'}]
//Your autocomplete source should return something like the above json string
Используя JavascriptСериализатор: Сначала добавьте класс:
public class GoodAutoComplete
{
public string label;
public string value;
public string ID;
}
Затем Сериализуйте объект следующим образом:
tadok.Entities.TList<tadok.Entities.Good> GoodEntites = tadok.Data.DataRepository.GoodProvider.GetAll();
List<GoodAutoComplete> GoodItems = new List<GoodAutoComplete>();
foreach (object item_loopVariable in GoodEntites) {
item = item_loopVariable;
GoodItems.Add(new GoodAutoComplete {
ID = item.GodId,
label = string.Format(item.GodTitle + "{(0)}", item.GodDescrp).Replace("()", ""),
value = string.Format(item.GodTitle + "{(0)}", item.GodDescrp).Replace("()", "")
});
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
Values = serializer.Serialize(GoodItems);