从ListView获取选定的记录

时间:2016-01-05 13:58:12

标签: javascript jquery mvvm kendo-ui telerik

我正在使用Kendo UI ListView,使用MVVM绑定。 listview的定义如下:

NameError: name 'request' is not defined

listview的行是绑定到以下视图模型的<tbody id="listview" data-role="listview" data-template="ListItemTemplate" data-selectable= "true" data-bind="source:categoriesDataSource, events:{change:onListChange}"> 行:

<tr>

我正在直接转换JSON对象数组;这很好。但是,我也定义了一个更改事件并且正确执行,但我不知道如何获取当前所选记录的值。有没有办法从底层数据源获取?我在视图模型中尝试了以下事件处理程序,代码运行但是值不是所选记录:

var viewModel = kendo.observable({
  categoriesDataSource: new kendo.data.DataSource({
    data: @(Html.Raw(JsonConvert.SerializeObject(Model.ItemCategories)))
  })
});

如何获取当前所选记录的值?

2 个答案:

答案 0 :(得分:1)

看看我为你做的这个

onListChange: function(e) {
  var index = e.sender.select().index();
  var item = e.sender.dataSource.view()[index];
  console.log(item); // item here is the currently selected list item (ObservableObject))
}

答案 1 :(得分:0)

有dataItem方法来获取为kendo小部件指定的数据项。 http://docs.telerik.com/kendo-ui/api/javascript/ui/listview#methods-dataItem

String.Index.init(utf8Index: UTF8Index##UTF8Index#>, within: <#T##String#>)