关于javascript:自定义复选框在剑道网格中不可点击

Customized checkboxes are not clickable in kendo grid

我有带有复选框选择列的剑道网格,我自定义了这些复选框,但现在复选框不可点击,不能取消选中或选中

我该如何解决这个问题?

这是我的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@( Html.Kendo().Grid<MockUpForeNet.Controllers.CardDetailController.Days>()
     .Name("timegrid")
     .DataSource(d => d.Ajax().Read("TimeGridBinding","CardDetail").Model(keys =>
     {
         keys.Id(k => k.DayId);
         keys.Field(c => c.DayName).Editable(false);
         keys.Field(c => c.DayId).Editable(false);
     }).PageSize(7))
               .Columns(c =>
               {
                   c.Bound(p => p.DayId).Width(100).Title("").ClientTemplate("#= chk2(data) #").Sortable(false);
                   c.Bound(e => e.DayName).Width("auto").Title("Day");
               })
       .Editable(editing => editing.Mode(Kendo.Mvc.UI.GridEditMode.InCell))
       .Sortable()
       .ColumnMenu()
)

这里是我的复选框模板

1
2
3
function chk2(data) {
    return '<input id="masterCheck' + data.DayId + '" class="k-checkbox" type="checkbox" checked="checked" /><label for="masterCheck" class="k-checkbox-label"></label>';
}


您的模板中有一个错误: label for="masterCheck" 缺少 data.DayId

另请注意,复选框在 2020.1.114 版本中已更改,不再需要空标签。请参阅 https://demos.telerik.com/kendo-ui/checkbox/index 上的示例。出于可访问性原因,请记住提供 aria-label


DayId 应该在 DataSource

中可编辑

1
keys.Field(c => c.DayId).Editable(true);