Kendo UI Web - DropDownList:选择事件未正确返回选定值

时间:2014-02-06 01:25:21

标签: javascript jquery web kendo-ui kendo-dropdown

我将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/

这让我疯了!

5 个答案:

答案 0 :(得分:8)

  

绑定选择事件 Kendo DropDownList ,如下所示,以获取正确的选定项目

   kDropDownList.bind('select', function (e) {
       var dataItem = this.dataItem(e.item.index());
        console.log('this.value(): ' + dataItem.value);

   });

Here is the working JSFiddle

答案 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())