2016-11-26 11 views
0

여러 필드가있는 객체 목록에 바인딩 된 kendoListView가 있습니다.검도 목록에있는 객체에 바인딩 된 객체 가져 오기 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) 
    { 

    } 
}); 

지금 문제는 내가 입력 확인이 바인드 된 전체 개체를 얻을하고자하는, 즉 내가이 입력에 바인딩 된 전체 개체를 얻을 수있는 방법을 찾을 수 있다는 것입니다 이름뿐만 아니라 EmpID와 나이 (바인딩 된 객체의 모든 속성)도 포함됩니다.

어떻게 달성 할 수 있습니까? 검도 목록보기에서 항목에 바인딩 된 개체를 가져올 수 있습니까?

답변

1

ListView의 dataItem 메서드를 사용하고 해당 항목에 해당하는 부모 div 요소를 전달하십시오.

$("#lstAllItems input").each(function() { 
    if (this.checked) 
    { 
     var listView = $("#lstAllItems").data("kendoListView"); 
     var listViewItem = listView.dataItem($(this).closest("div")); 
    } 
}); 

listViewItemKendo UI Model 객체가 될 것입니다.

+1

완벽한 답변! 이것은 내가 찾고 있었던 정확하게 것이다. .. Thanku 순전히! – user2091061