我将DropDownList
小部件绑定到select
事件,如下所示:
var items = [
{ text: 'Item 3', value: '3' },
{ text: 'Item 4', value: '4' }
];
var dropDownListEl = $('#dropdownlist');
dropDownListEl.kendoDropDownList({
dataTextField: 'text',
dataValueField: 'value',
index: 0
});
var kDropDownList = dropDownListEl.data('kendoDropDownList'),
ds = kDropDownList.dataSource;
items.forEach(function (item) {
ds.add(item);
});
kDropDownList.bind('select', function (e) {
console.log('this.value(): ' + this.value());
});
但是,当我进行选择时,它不会返回正确的值。
我一直在尝试几乎所有的可能性,没有一个在起作用。 http://jsfiddle.net/glenn/gxJ3S/
这让我疯了!
答案 0 :(得分:8)
绑定选择事件 Kendo DropDownList ,如下所示,以获取正确的选定项目
kDropDownList.bind('select', function (e) {
var dataItem = this.dataItem(e.item.index());
console.log('this.value(): ' + dataItem.value);
});
答案 1 :(得分:3)
使用change事件,它更直接
..
change: function(e) {
var value = this.value();
// Use the value of the widget
}
..
答案 2 :(得分:1)
var _item = e.sender.dataItem(e.sender.selectedIndex);
答案 3 :(得分:1)
我认为剑道改变了他们的API:
重要提示:自2015年第1季度(2015.1.318)以来,选项标签有 被移动到项目列表DOM集合之外。结果是, jQuery.index()不能再用于可靠地检测选项 label是选定的下拉项。
参考。 http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#events-select
最终,这是唯一对我有用的东西:
var item = e.sender.dataItem(e.item)
答案 4 :(得分:0)
如果您使用角度,您可以使用以下内容获取所选项目:
e.sender.dataItem(e.item.index())