2016-11-26 21 views
0

我有一個kendoListView綁定到具有多個字段的對象列表。獲取綁定到Kendo項目的對象ListView

<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和年齡(綁定對象的所有屬性)。

這是怎麼實現的?有沒有可能在Kendo列表視圖中綁定物件?

回答

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對象。

+1

完美答案! 這正是我正在尋找的東西...非常感謝! – user2091061

相關問題