获取绑定到Kendo ListView

时间:2016-11-26 20:19:07

标签: kendo-ui 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)
    {

    }
});

现在问题是我无法找到一种方法来将整个对象绑定到此输入,即我希望将整个对象绑定到此检查输入,该输入不仅包括Name,还包括EmpID和age(所有属性)那个绑定的对象)。

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

1 个答案:

答案 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个对象。