我的数据listview网格结构是这样的。
<div id="listView">
<div class="product"><h3>India</h3></div>
<div class="product1"><h3>Gujarat</h3></div>
<div class="product"><h3>Surat</h3></div>
</div>
我想设置新数据,其中数据源具有类product1。
例如。就像
<div class="product1"><h3>Gujarat</h3></div>
我想将古吉拉特邦更改为其他名称。
我使用下面的代码,但这仅设置第一个元素,而不检查特定的类。
var firstItem = $('#listView').data().kendoListView.dataSource.data()[0];
firstItem.set('name','The updated Name');
如果您知道,请回复解决方案。
最佳答案
你可以尝试:
var list = $("#listView").data("kendoListView");
var uid = $(".product2", list.target).data("uid");
item = list.dataSource.getByUid(uid);
item.set("name", "The updated Name");
我所做的是:
- 获取 Kendo UI ListView 的引用
- 提取列表元素的
uid
。 - 使用
DataSource
中的getByUid
查找具有该uid
的元素。 - 更新
名称
。
第二种方法可能效率较低:
var list = $("#listView").data("kendoListView");
var idx = $("div", list.target).index($(".product1", list.target));
var item = list.dataSource.data()[idx];
item.set("name", "The updated Name");
- 获取 ListView 的引用。
- 然后通过检索列表中的所有
div
(列表中的每个项目)来查找索引,然后查找具有类product1
的索引。< - 从 ListView 数据源获取项目。
- 最后,更新
名称
。
关于jquery - 如何在listview kendo ui的数据源中设置数据项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318803/