1

ここには、私が開発したのではないプロジェクトがあります。プロジェクト テクノロジ: ASP.NET MVC、jQuery、Bootstrap、および KendoUI。そして、それには少し問題があります。

KendoComboBox は、入力中に JSON データソース テキストでテキストをオートコンプリートします。これは完璧です!ただし、DataBound イベントをサブスクライブして処理すると、このオートコンプリートは正しく機能しません。入力しているものを消去します。そして、これはユーザーの怒りを引き起こします。

このウィンドウは、新しいレジスタを作成する場合も、既存のレジスタを編集する場合も同じです... したがって、サブスクライブされた DataBound は、編集時に ComboBox 内の 1 つの項目を選択する作業を行います。

また、新しい ComboBox を作成する場合、入力時に ComboBox の通常の動作をオートコンプリートする必要があります。

これが新しいウィンドウです。オートコンプリートは、サブスクライブされた DataBound では機能しません。 新しいものを作成する - オートコンプリートをオンにしたい

これは編集ウィンドウです (同じですが、ロードされています)。 選択したものを編集 - DataBound で動作

DataBound を削除すると、ComboBox のオートコンプリートが正常に機能します。 オートコンプリートの作業

これは私のHTMLです:

<div class="k-field">
    <div class="k-fieldlabel">Responsável:</div>
    <div style="float: left; width: calc(100% - 100px);">
        <input type="text" id="cboResponsavel" name="Responsavel.Id" style="width: 100%;" required validationmessage="Responsável é obrigatório" />
    </div>
</div>

私の document.ready 関数には次のものがあります。

$("#cboResponsavel").kendoComboBox({
dataTextField: "Nome",
dataValueField: "Id",
dataSource: {
    type: "json",
    schema: {
        data: "data",
        total: "total"
    },
    transport: {
        read: {
            url: "/Projeto/Projetos/CarregarResponsaveis",
            dataType: "json"
        }
    }       
},
filter: "contains",
suggest: true,
dataBound:function(e){
    e.sender.value(@(Model == null ? "null" : Model.Responsavel.Id.ToString()))
}
});

私の研究:

KendoCombobox が Localsource jsondata を取得していない

剣道 UI デモ - ComboBox / 基本的な使い方

Kendo UI Docs - ComboBox - Events - DataBound

剣道UIとjson

kendo ui: コンボボックス dataBound イベント内で、いくつかのコンボボックスにバインドされた dataSource の dataItem を削除する方法

データバインドされたコンボボックスでアイテムを選択する

Kendo UI Forumの投稿もいくつか見ました。

jQuery と KendoUI を更新しましたが、まだ残っています...

私は KendoUI を初めて使用し、いくつかの ASP.NET MVC プロジェクトを修正したばかりなので、今のところこの問題を修正する方法がわかりません。誰かが私を助けたり、指示を与えたりできるなら、私は感謝します。

そうそう、同じ問題を抱えている他のコンボを修正したい...

PS: クリックして値を選択すると、ここで作業できますが、生産的ではありません。

私は自分自身を十分に明確にしたことを願っています。助けてくれてありがとう。

4

1 に答える 1