【问题标题】:Kendo UI Autocomplete, name searchKendo UI 自动完成,名称搜索
【发布时间】:2014-11-21 09:51:35
【问题描述】:

我目前在使用 Kendo UI 时遇到了一些问题。目前,我有一个自动完成功能,用于获取员工。我遇到的问题是我希望能够让自动完成功能与多个单词(名字和姓氏)一起使用,例如“John Smith”。目前,如果输入“john”,我的自动完成工作正常,它将在下面的下拉列表中显示“John smith”以及包含“john”一词的其他名称。如果我输入姓氏“smith”并可以选择“john 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);

    }
});

【问题讨论】:

  • 去掉 minLength: 3 并进行搜索

标签: javascript kendo-ui helpers kendo-autocomplete


【解决方案1】:

我从您的问题中了解到,您要选择名称,直到输入全名。 这取决于自动完成小部件的“filter”和“minLength”属性。

kendo 自动完成支持的过滤器有:startswith、endswith 和 contains。

minLength:- 取决于输入多少字符后开始过滤的要求。如果将其删除,则在输入字符后立即开始过滤。

由于名称的长度不同,所以我担心使用 minLength 过滤名称可以满足您的要求。也与“过滤器”属性相同,因为它不支持“完全匹配”之类的东西。(默认 = 1)。

因此,如何明智地使用这两个属性来实现您的目标取决于您。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多