1

kendoDropDownList に変換した入力フィールドがあります。オプションで渡されるのは、ユーザーが新しい値を選択したときに何らかの処理を行う select コールバックです。

例えば

$("#MyDropDownList").kendoDropDownList({
    optionLabel: "Choose...",
    dataTextField: "MyTextField",
    dataValueField: "MyValueField",
    dataSource: myDataSource,
    select: function (e) {
        // Do some stuff
  }
});

このビットは、ユーザーが GUI を介して値を選択している限り、正常に機能します。値が選択されたときに発生する必要があるものが発生します。

コードから選択を変更する必要がある場合、問題が発生します。私はこのようなものを持っています:

// Select dropdown entry by index
$("#MyDropDownList").data("kendoDropDownList").select(0);

これを行うと、select コールバックが呼び出されません。ここで私が間違っていることはありますか?または、選択時に発生するコードを独自の関数に取り込んで、起動する必要があるときに自分で呼び出す必要がありますか?

4

1 に答える 1

1

はい、Kendo UI API メソッドを呼び出してもイベントは発生しません。これは、フレームワーク全体の設計上の決定です (1 つの例外として Window ウィジェット)。API を呼び出した後、イベント ハンドラーを手動で呼び出す必要があります。

この背後にある理由は、新しい選択を検証した後、選択イベント ハンドラーで別の項目を選択できることです。ウィジェットが選択イベントをトリガーした場合、これは不可能です (無限のトリガー ハンドル ループが発生します)。

于 2012-11-14T10:17:33.803 に答える