get selected id of kendo drop down value

21.8k Views Asked by At

how to get id of selected name from dropdown.
whene select Apples then got id 1and select Oranges then 2.
this is simple kendo dropdown example.

<body>
            <input id="dropdownlist" />

            <script>
                $("#dropdownlist").kendoDropDownList({
                  dataSource: [
                    { id: 1, name: "Apples" },
                    { id: 2, name: "Oranges" }
                  ],
                  dataTextField: "name",
                  dataValueField: "id",
                  index: 1,
                  select: onSelect
                });

                function onSelect(e) {
                console.log(e);
                  };
            </script>
</body>

thanks.

4

There are 4 best solutions below

0
On

To select ID of the selected item use:

$("#dropdownlist").val()

And to select TEXT of the selected item use:

$("#dropdownlist").data("kendoDropDownList").text()
0
On

The Select event is a bit more difficult one to use, as that event fires before the item is selected.

If you use the Change event, you should be able to get the dataItem with

this.dataSource.get(this.value())

See sample http://jsbin.com/OcOzIxI/2/edit

0
On

In order to retrieve the selected Id you can use the dataItem object and access the id within it with change event:

 var dataItem = e.sender.dataItem();
 $('#id').text(dataItem.id);

This will get you access to any data within the object too:

$('#name').text(dataItem.name);

Working example

http://jsfiddle.net/ygBq8/1/

Html

<input id="dropdownlist" /><br/>
<span id="id" >Id</span><br/>
<span id="name" >Name</span><br/>

JavaScript

$("#dropdownlist").kendoDropDownList({
                  dataSource: [
                    { id: 1, name: "Apples" },
                    { id: 2, name: "Oranges" }
                  ],
                  dataTextField: "name",
                  dataValueField: "id",
                  index: 1,
                  change: onChange
                });

                function onChange(e) {
                   var dataItem = e.sender.dataItem();
                   $('#id').text(dataItem.id);
                   $('#name').text(dataItem.name);
                  };
0
On

Please use this.dataItem()

function onSelect(e) {
    alert(this.dataItem().id);
    alert(this.dataItem().Name);
};