Kendo UI Web - DropDownList: select event doesn't return selected value properly

只谈情不闲聊 提交于 2020-01-15 07:05:53

问题


I am binding a DropDownList widget to select event like so:

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());
});

But, it doesn't return the correct value when I do the selection.

I have been trying almost every possibility there is, none is working. http://jsfiddle.net/glenn/gxJ3S/

It's driving me insane!


回答1:


Binding Select Event of Kendo DropDownList as follow to get correct selected item

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

   });

Here is the working JSFiddle




回答2:


use change event instead, it's more straightforward

..
  change: function(e) {
    var value = this.value();
    // Use the value of the widget
  }
..



回答3:


var _item = e.sender.dataItem(e.sender.selectedIndex);



回答4:


I think Kendo changed their API:

Important: Since version Q1 2015 (2015.1.318), the option label has been moved outside the item list DOM collection. As a result, jQuery.index() can no longer be used to reliably detect if the option label is the selected dropdown item.

Ref. http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#events-select

Ultimately, this is the only thing that worked for me:

var item = e.sender.dataItem(e.item)



回答5:


In case you use angular, you can get the selected item with: e.sender.dataItem(e.item.index())



来源:https://stackoverflow.com/questions/21592228/kendo-ui-web-dropdownlist-select-event-doesnt-return-selected-value-properly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!