我有一个kendoListView,它绑定到具有多个字段的对象列表。
<div id="lstAllItems"></div>
<script type="text/x-kendo-tmpl" id="itemTemplate">
<div>
<label><input type="checkbox"/>#: Name#</label>
</div>
</script>
<script>
var itemsList = [{Name : "ABC", Age : 23, EmpID : 1},
{Name : "PQR", Age : 25, EmpID : 2},
{Name : "XYZ", Age : 23, EmpID : 3}
];
var _dataSource = new kendo.data.DataSource({
data: itemsList
});
$("#lstAllItems").kendoListView({
dataSource: _dataSource,
template: kendo.template($("#itemTemplate").html())
});
</script>
现在我想获得该列表中的所有选中项目。我已经能够使用以下代码执行此操作:
$("#lstAllItems input").each(function () {
if (this.checked)
{
}
});
现在问题是我无法找到一种方法来将整个对象绑定到此输入,即我希望将整个对象绑定到此检查输入,该输入不仅包括Name,还包括EmpID和age(所有属性)那个绑定的对象)。
如何实现?是否可以在Kendo列表视图中将对象绑定到项目?
答案 0 :(得分:1)
使用ListView的dataItem
方法并传递与项目对应的父div
元素。
$("#lstAllItems input").each(function () {
if (this.checked)
{
var listView = $("#lstAllItems").data("kendoListView");
var listViewItem = listView.dataItem($(this).closest("div"));
}
});
listViewItem
将成为Kendo UI Model个对象。