Kendo UI Автозаполнение, поиск по имени

В настоящее время у меня есть некоторые проблемы с Kendo UI. На данный момент у меня есть автозаполнение, которое я использую, чтобы получить сотрудников. У меня проблема в том, что я хотел бы, чтобы автозаполнение работало с несколькими словами (имя и фамилия), например, "Джон Смит". В настоящее время у меня есть автозаполнение, работающее нормально, если набрано "john", то в выпадающем списке ниже будет показан "John smith" вместе с другими именами, содержащими слово "john". То же самое будет хорошо, если я введу фамилию "Смит" и у меня будет возможность выбрать "Джон Смит". Что я пытаюсь сделать, так это то, что, когда все имя набрано в "Джон Смит", позволяет пользователю выбрать Джона Смита, это означает, что он все еще выполняет поиск по двум словам. Кто-нибудь может помочь? Я поставлю свой код ниже.

Благодарю.

//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);

    }
});

1 ответ

Из вашего вопроса я понял, что вы хотите выбрать имя, пока не наберете полное имя. Это зависит от свойств "filter" и "minLength" автозаполнения виджета.

Фильтры, поддерживаемые kendo auto-complete: начальный, конечный и содержащий.

minLength: - Это зависит от требования, что после ввода количества символов должна начаться фильтрация. Если это убрано, фильтрация начинается сразу после ввода символа.

Поскольку имя имеет разную длину, поэтому я боюсь, что фильтрация имени с помощью minLength может удовлетворить ваши требования. Также то же самое со свойством "filter", так как оно не поддерживает ничего вроде "точного соответствия" (по умолчанию = 1).

Итак, вам решать, насколько мудро вы используете эти два свойства для достижения своей цели.

Надеюсь это поможет.

Другие вопросы по тегам