我目前在使用Kendo UI方面存在一些问题。目前我有一个自动填充功能,用于获取员工。我遇到的问题是我希望自动完成能够使用多个单词(名字和姓氏),例如John Smith'。目前,如果约翰'键入它会显示约翰史密斯'在下面的下拉列表中以及包含“约翰”字样的其他名称。如果我输入姓氏' smith'并且可以选择“约翰·史密斯”。我想要做的是,当整个名字输入“John Smith'允许用户选择John smith,这意味着它仍然会搜索这两个单词。有人可以帮忙吗?我将把我的代码放在下面。
感谢。
//Autocomplete FeeEarner
$("#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);
}
});
答案 0 :(得分:1)
我从您的问题中了解到,您希望在输入全名之前选择名称。 这取决于自动完成小部件的“过滤器”和“minLength”属性。
kendo自动完成支持的过滤器有:startswith,endswith和contains。
minLength: - 在输入过滤应该开始的字符数后,这取决于要求。如果将其移除,则在输入字符后立即开始过滤。
由于名称长度不同,所以我担心使用minLength过滤名称可以满足您的要求。也与“filter”属性相同,因为它不支持“完全匹配”之类的任何内容。(默认值= 1)。
因此,您可以明智地使用这两个属性来实现目标。
希望这有帮助。