0

いくつかのフィールドを持つオブジェクトのリストにバインドされた 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 と age も含むこのチェック済み入力にオブジェクト全体をバインドしたいのです(そのバインドされたすべてのプロパティ物体)。

これはどのように実現できますか?剣道リスト ビューでアイテムにバインドされたオブジェクトを取得することは可能ですか?

4

1 に答える 1

1

dataItemListViewのメソッドを使用しdivて、アイテムに対応する親要素を渡します。

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

listViewItemKendo UI Modelオブジェクトになります。

于 2016-11-27T12:03:57.757 に答える