Javascript 剑道UI使用2个单词(名字和姓氏)自动完成
我目前正在尝试获得剑道ui自动完成,以显示结果,即使用户输入第一个和第二个名称。目前,如果自动完成包含第一个或第二个名称,我的代码可以正常工作。我希望自动完成功能仍能显示结果,例如,如果输入了“Peter S”,则仍会显示“Peter Smith”和“Peter Samsung”的结果。如果有人能看看我的代码,也许能给我指出正确的方向,那就太好了。我在这方面花了很多时间,我想我可能采取了错误的方法 代码如下:Javascript 剑道UI使用2个单词(名字和姓氏)自动完成,javascript,c#,autocomplete,kendo-ui,kendo-autocomplete,Javascript,C#,Autocomplete,Kendo Ui,Kendo Autocomplete,我目前正在尝试获得剑道ui自动完成,以显示结果,即使用户输入第一个和第二个名称。目前,如果自动完成包含第一个或第二个名称,我的代码可以正常工作。我希望自动完成功能仍能显示结果,例如,如果输入了“Peter S”,则仍会显示“Peter Smith”和“Peter Samsung”的结果。如果有人能看看我的代码,也许能给我指出正确的方向,那就太好了。我在这方面花了很多时间,我想我可能采取了错误的方法 代码如下: $("#FeeEarnerEmailSend").ke
$("#FeeEarnerEmailSend").kendoAutoComplete({
dataSource: new kendo.data.DataSource({
serverFiltering: true,
transport: {
read: "/" + prefix + "/api/Session/GetEmployees",
parameterMap: function () {
return { id: $("#FeeEarnerEmailSend").data("kendoAutoComplete").value() };
}
}
}),
dataTextField: 'FullName',
filter: "contains",
//placeholder: "Search...",
minLength: 3,
suggest: true,
select: function (e) {
var employeeAutoComplete = e.sender;
// this var is used in the Search button click event
selectedEmployeeDataItem = employeeAutoComplete.dataItem(e.item.index());
},
change: function () {
if ($.trim($("#FeeEarnerEmailSend").val()) == "") {
selectedEmployeeDataItem = null;
}
},
dataBound: function (e) {
selectedEmployeeDataItem = e.sender.dataItem(0);
}
});
这是我的Csharp代码,我想问题可能在我的linq中,需要编辑以实现这一点
[HttpGet]
[Route("api/Session/GetEmployees")]
public IHttpActionResult GetEmployees(string id)
{
logger.Trace("Get Employees - {0} - based on prefix", id);
try
{
DirectoryContext context = new DirectoryContext(new Uri(ConfigurationManager.AppSettings["DirectoryServiceUrl"]));
var result = from q in context.Employees
where q.Surname.Contains(id) || q.KnownAs.Contains(id)
orderby q.Surname, q.KnownAs
select new
{
NetworkId = q.NetworkID,
FullName = String.Format("{0} {1}", q.Surname.ToUpper(), q.KnownAs),
EmailAddress = q.EmailAddress
};
logger.Info("Returning Employees - {0}", id);
return Ok(result.ToList());
}
catch (Exception ex)
{
logger.Error(ex.Message, ex);
return InternalServerError(ex);
}
}
员工数据的模式是什么?您能提供一个JSFIDLE或jsBin示例吗?您好,我已经更新了我的帖子,将Csharp包含在linq查询中。我希望这有助于您进一步理解,我认为问题就在这里,因为linq查询只查找姓氏或已知姓名。我需要它来做这两件事,而且两人都知道名字+姓氏。提前谢谢是的,这就是问题所在。您的查询只查看员工的
姓氏
和KnownAs
属性。如果要包括任何其他属性,则需要将其添加到查询中。