0

現在、Kendo UI に問題があります。現時点では、従業員を取得するために使用するオートコンプリートがあります。私が抱えている問題は、'John Smith' などの複数の単語 (姓名) でオートコンプリートを機能させたいということです。現在、「john」と入力すると、オートコンプリートが正常に機能し、「john」という単語を含む他の名前とともに、下のドロップダウンに「John smith」が表示されます。姓「smith」を入力し、「john smith」を選択するオプションがある場合、同じことが問題なく機能します。私がやろうとしているのは、名前全体が「John Smith」に入力されているときに、ユーザーが John smith を選択できるようにすることです。これは、2 つの単語を検索することを意味します。誰でも助けることができますか?私は私のコードを以下に置きます。

ありがとう。

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

    }
});
4

1 に答える 1

1

あなたの質問から私が理解したのは、フルネームが入力されるまで名前を選択したいということです。これは、オートコンプリート ウィジェットの「filter」および「minLength」プロパティに依存します。

kendo オートコンプリートでサポートされているフィルターは、startswith、endswith、contains です。

minLength:- 何文字入力した後にフィルタリングを開始するかは、要件によって異なります。これを削除すると、文字を入力した直後にフィルタリングが開始されます。

名前の長さが異なるため、minLength を使用して名前をフィルタリングすると、要件を満たすことができるのではないかと心配しています。また、「完全一致」のようなものをサポートしていないため、「フィルター」プロパティと同じです (デフォルト = 1)。

したがって、この 2 つのプロパティをどのように賢く使用して目標を達成するかは、あなた次第です。

お役に立てれば。

于 2014-11-21T16:33:38.743 に答える