单击复选框或kendo UI网格中的行时触发事件

时间:2017-12-01 09:28:32

标签: angularjs kendo-ui kendo-grid multiple-select

我的剑道网格看起来像:

enter image description here

我使用change/dataBound方法来检查框并突出显示所选行:

change: function (e) {
    $('tr').find('[type=checkbox]').prop('checked', false).removeAttr('aria-selected');
    $('tr.k-state-selected').find('[type=checkbox]').prop('checked', true);                 
},
dataBound: function (e) {
    $(".checkbox").bind("click", function (e) {
        $(e.target).closest("tr").toggleClass("k-state-selected");
    });
},

我需要在选择一行时获取数据,并且我可以通过从所选行中提取changedataItem方法执行此操作。问题是,change方法仅在我单击整行时触发,而不是在我单击复选框时触发。如何在单击复选框或行时触发事件?

1 个答案:

答案 0 :(得分:0)

如果您只需要在单击复选框时获取该行的dataitem,您应该可以使用以下内容:

dataBound: function (e) {
    $(".checkbox").bind("click", function (e) {
        $(e.target).closest("tr").toggleClass("k-state-selected");
        var myItem = grid.dataItem($(this).closest("tr"));
    });
},

// might need to update the reference to grid for your grid instance

非常接近用于在自定义命令http://demos.telerik.com/kendo-ui/grid/custom-command

中获取数据项的方法