2013-09-11 7 views
2

Как получить идентификатор выбранного имени из раскрывающегося списка.
Когда выберете Apples, тогда получите идентификатор 1 и выберите Oranges, затем 2.
это простой кендо выпадающий пример.
get selected id of kendo drop down value

<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> 

спасибо.

ответ

3

Событие Select является более сложным, поскольку это событие срабатывает до выбора элемента.

Если вы используете Изменить событие, вы должны быть в состоянии получить DataItem с

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

См образца http://jsbin.com/OcOzIxI/2/edit

2

Для извлечения выбранного Id вы можете использовать dataItem объект и получить доступ к идентификатор в нем с change события:

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

Это позволит получить доступ к любым данным в пределах объекта слишком :

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

Рабочий пример

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

Чтобы выбрать идентификатор выбранного использования элемента:

$("#dropdownlist").val() 

И выбрать текст выбранного элемента использования:

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

Пожалуйста, используйте this.dataItem()

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