次のように、Jqueryを使用してテキストボックスでオートコンプリートを作成しました。
$(document).ready(function () {
$('#searchCollabo').autocomplete({
source: '@Url.Action("AutocompleteCollabo")'
});
});
したがって、データは次のようなAutocompleteCollaboメソッドから取得されます。
public ActionResult AutocompleteCollabo(string term)
{
int NumDossier = StructureData.DonneNumDossier((string)Session["NumCRPCEN"], (string)Session["MotDePasse"]);
List<Contact> ListeContacts = StructureData.DonneListeElementDossier(NumDossier);
Contact[] tabContacts = new Contact[ListeContacts.Count()];
int count = 0;
foreach (Contact contact in ListeContacts)
{
tabContacts[count] = contact;
count++;
}
var collaborateurs = tabContacts;
var collaborateurFiltres = collaborateurs.Where(
item => item.Nom.Contains(term) || item.Fonction.Contains(term)
);
return Json(collaborateurFiltres, JsonRequestBehavior.AllowGet);
}
返された json には、以下のようなオブジェクトのリストが含まれています。
[{"ListeFonctions":[],"IdContact":91264,"Nom":"solecki","Prenom":"hubert","Email":"hsolecki@mail.c"}]
ここで、オートコンプリートの行を選択したときに取得する表示名 (名前 + 関数) と値を設定したいと思います。アイデアはありますか?