4

次のように定義された kendoUI ドロップダウンリストがあります。

 @(Html.Kendo().DropDownList()
                  .Name("EditGroupSelector")
                  .BindTo(Model.Groups)
                   .Events(
                    events => events
                        .Select("onEditGroupSelected")
                   )
            )

次のように API を呼び出すと、選択イベントがトリガーされないことを理解しています。

editGroupSelector.select(0);

最初のアイテムを手動で選択した後、選択イベントを手動でトリガーしたかった:

editGroupSelector.trigger("select");//api calls dont trigger events -> trigger it manually

これはイベントを呼び出しますが、イベントハンドラー内にはイベントがないため、新しく選択された値を取得できません:

function onEditGroupSelected(e) {
    var nameOfGroup = e.item.text();//e.item does not exist when triggered manually
}

イベントハンドラー内で実際に「e.item」を使用できるように、イベントをトリガーするにはどうすればよいですか?

4

1 に答える 1

13

jQuerytrigger関数には、引数であるオプションのパラメーターがあります。自動呼び出しと互換性を持たせるために、手動で追加する必要があります。(少なくとも)を追加する必要がありますitem

例:

の場合は、id次のように引数を作成できます。dropDownListdropdownlist

dropDownList.select(3);
dropDownList.trigger("select",
        { item: $("li.k-state-selected", $("#dropdownlist-list")) }
);

注:listデコレータ(open dropDownList)は、id定義したもの(例dropdownlist)ではなく、その後にid続く-list(例:)で識別されることに注意することが非常に重要dropdownlist-listです。そのため、jQueryセレクターは次のようになります$("li.k-state-selected", $("#dropdownlist-list")

于 2013-01-23T15:29:26.117 に答える