2017-01-12 4 views
0

Я использую Kendo UI Dropdownlist с ASP.NET MVC5. Я хочу написать печенье onSelect:Kendo Ui выпадающий список с ASP.NET MVC5 onSelect function

@(Html.Kendo().DropDownList().Name("sss").BindTo(Model).DataTextField("Name").DataValueField("Id") 
       .Events(e => 
       { 
        e.Select("onSelect"); 
       }) 
       .Deferred() 
      ) 

function onSelect(e) { 
      if ("sss" in window) { 
       debugger; 
       var dataItem = this.dataItem(e.item); 
       alert(dataItem.value); 
       setCookie(dataItem.value); 
      } 
     } 

все функции доступны, и работает отлично. но я получаю:

неопределенное значение вместо Id

. Почему я получаю эту ошибку? и как я могу это исправить?

P.S. Модель содержит как идентификатор, так и имя.

ответ

2

Как только вы получите dataItem, - это экземпляр вашей модели, используемый для заполнения DropDownList.

Итак, для доступа к полю Id используйте поле идентификатора не поле значения (которое у вашей модели нет).

function onSelect(e) { 
    if ("sss" in window) { 
     debugger; 
     var dataItem = this.dataItem(e.item); 
     alert(dataItem.Id); 
     setCookie(dataItem.Id); 
    } 
} 
+0

aha, теперь я понимаю, где была ошибка. Я, хотя он будет строить стандартный dropdownlist или по-другому: select, option –

+0

как я могу изменить selectIndex в том же примере на значение в cookie, функцию cookie, называемую: getCookie(); –

+0

http://docs.telerik.com/kendo-ui/api/javascript/ui/dropdownlist#methods-value –