jQuery オートコンプリート関数が json データ項目を取得する場合、選択した項目を取得して DOM の他のテキスト ボックスに割り当てるにはどうすればよいですか?
テキストボックスにイベントを接続しますか?
私のjs:
$(document).ready(function () {
$("#CustByName").autocomplete(
{
source: function (request, response) {
$.ajax(
{
url: "/Cases/FindByName", type: "GET", dataType: "json",
data: { searchText: request.term, maxResults: 10 },
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data, function (item) {
return {
label: item.CustomerName,
value: item.CustomerName,
id: item.CustomerID
}
})
);
}
});
},
minLength: 3
});
});
そして私のコントローラーアクション:
//Post: autocomplete customer names
//[HttpPost]
public JsonResult FindByName(string searchText, int maxResults)
{
CustomerFind find = new CustomerFind();
var result = find.FindCustomerByName(searchText, maxResults);
return Json(result, JsonRequestBehavior.AllowGet);
}
そして私の FindCustomerByName 関数
internal List<Models.Customer> FindCustomerByName(string searchText, int maxResults)
{
List<Models.Customer> result;
using (cummins_sqldb dataContext = new cummins_sqldb())
{
result = (from c in dataContext.Customers
where c.CustomerName.Contains(searchText)
orderby c.CustomerName
select c).Take(maxResults).ToList();
}
return result;
}