我有一个kendoUI下拉列表,定义如下:
@(Html.Kendo().DropDownList()
.Name("EditGroupSelector")
.BindTo(Model.Groups)
.Events(
events => events
.Select("onEditGroupSelected")
)
)
我知道当我按如下方式调用api时,select事件不会被触发:
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”?
答案 0 :(得分:12)
jQuery trigger
函数有一个可选参数作为参数。您需要手动添加它,使其与自动调用兼容。您应该添加(至少)item
。
示例:强>
如果id
的{{1}}为dropDownList
,您可以按以下方式创建参数:
dropdownlist
注意:请注意dropDownList.select(3);
dropDownList.trigger("select",
{ item: $("li.k-state-selected", $("#dropdownlist-list")) }
);
修饰符(open dropDownList)未被您定义的list
标识(例如id
}非常重要)但dropdownlist
后跟id
(例如:-list
)。这就是jQuery选择器为dropdownlist-list