gpt4 book ai didi

javascript - 从ListView中获取选定的记录

转载 作者:行者123 更新时间:2023-12-03 08:00:18 24 4
gpt4 key购买 nike

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

<tbody id="listview" data-role="listview" 
data-template="ListItemTemplate" data-selectable= "true"
data-bind="source:categoriesDataSource, events:{change:onListChange}">

ListView 的行是 <tr>行绑定(bind)到以下 View 模型:

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

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

onListChange: function(e) {
this.set("ID", e.data.ID);
this.set("ParentItemCategoryTypeID", e.data.ParentItemCategoryTypeID);
this.set("Code", e.data.Code);
this.set("Name", e.data.Name);
this.set("IsActive", e.data.IsActive);
this.set("Sequence", e.data.Sequence);
}

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

最佳答案

看看我为你做的这个

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

关于javascript - 从ListView中获取选定的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34613443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com