获取绑定到 Kendo ListView 中的项目的对象

Get the object bound to item in Kendo ListView

我有一个 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)
    {

    }
});

现在的问题是我找不到将整个对象绑定到这个输入的方法,即我希望将整个对象绑定到这个选中的输入,它不仅包括名称,还包括 EmpID 和年龄(所有该绑定对象的属性)。

如何实现?是否可以将对象绑定到 Kendo 列表视图中的项目?

使用 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 对象。