0

入力時にサーバーからデータをロードする Kendo UI コンボ ボックスを取得しようとしています。#クライアントは入力ボックスです。保存されたテキスト ボックス内のアイテムの ID が必要です。そのため、オートコンプリートの代わりにコンボ ボックスを使用しています。コンボ ボックスに入力すると、入力ボックスのデータの後ろに 1 キーを押した文字列が常に送信されます。これは、サーバーへの呼び出しが行われるまで、「シャドー化された」Kendo UI 入力ボックスが元の入力ボックスを更新しないために発生すると考えられます。

また、parameterMap コードを使用しない場合、入力ボックスに入力された内容はサーバーに送信されません。そして、フィルター条件も送信されると思います。Telriks サイトの例を見たところ、要求パラメーターのフィルターを使用してデータを表示することが示されていますが、フィドラーやその他のトレース ツールを使用すると、要求に何も送信されていないことがわかります。 Kendo UI サーバー呼び出しからのデータを処理します。これは相対論的に簡単にできるはずですが、私は困惑しています。

編集: kendoAutoComplete に変更したところ、AutoComplete が機能すると予想されるようにすべてが機能します。dataValueField の戻り以外は、実装の ComboBox と何ら変わりはありません。

        $("#Client").kendoComboBox({
            dataTextField: "label",
            displayValueField: "id",
            suggest: true,
            autoBind: false,
            minLength: 1,
            highlightFirst: true,
            filter: "contains",
            dataSource: new kendo.data.DataSource({
                serverFiltering: true,
                transport: {
                    read: { url: "/search/client", dataType: "json", type: "POST" },
                    parameterMap: function (data) {
                        return { search: $("#Client").val() }
                    }
                }
            })
        });
4

1 に答える 1

0
$("#Client").kendoComboBox({
        dataTextField: "label",
        displayValueField: "id",
        suggest: true,
        autoBind: false,
        minLength: 1,
        highlightFirst: true,
        filter: "contains",
        dataSource: new kendo.data.DataSource({
            serverFiltering: true,
            transport: {
                read: {
                   url: "/search/client", 
                   dataType: "json", 
                   type: "GET",
                   data: function () {
                     return { search: $("#Client").val() }
                   }
                }
            }
        })
    });
于 2014-08-28T02:08:04.480 に答える