我的剑道网格看起来像:
我使用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");
});
},
我需要在选择一行时获取数据,并且我可以通过从所选行中提取change
来dataItem
方法执行此操作。问题是,change
方法仅在我单击整行时触发,而不是在我单击复选框时触发。如何在单击复选框或行时触发事件?
答案 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
中获取数据项的方法