2

我的数据列表视图网格结构是这样的。

<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');

如果您知道,请回复解决方案。

4

2 回答 2

7

你可以试试:

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列表元素的 。
  • 使用getByUidfromDataSource查找带有 that 的元素uid
  • 更新name

第二种方法可能效率较低:

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");
  • 获取对您的列表视图的引用。
  • 然后通过检索列表中的所有div内容(列表中的每个项目)找到索引,然后找到具有 class 的索引product1
  • 从 ListView 数据源获取项目。
  • 最后,更新name.
于 2013-06-26T18:03:02.207 回答
0

你能用这样的东西吗?

var firstItem = $('#listView.product1 h3').data().kendoListView.dataSource.data()[0];

或者使用 jquery,您只需使用

$('#listView.product1 h3').text("Some updated text");

或者

$('#listView div.product1 h3').text("Some updated text");

如果您希望它仅在 div 中搜索。

于 2013-06-26T11:31:17.273 回答