让我在这里布置一个情况。我有一种情况,我需要在表单上显示几个复选框,这些复选框本质上是分层的,其中一些属于一个类别,而另一些属于第二个类别,依此类推。我的第一个想法是使用带有复选框的 KendoUI 树视图。我对此有几个问题:
- 显然会有一种情况,在表单加载时需要检查一些复选框,因为它们来自数据源。当我定义新的 kendo.data.HierarchicalDataSource 时,有一个属性可以让我指定数据源中的哪些属性定义了层次结构,“ParentID”,另一个通知特定项目是否有任何子项目“hasChildren”。我看不到是否有一个名为“checked”的属性或允许以相同方式与数据源正确绑定的属性。是否存在,我该如何设置?
- 如果第一个问题的答案是否定的,那么到目前为止我所做的是手动检查 treeview 的 dataBound 事件中的各个复选框,如下所示:
$(e.node).find(":checkbox[isselected='true']").prop("checked", true);
这样做是通过节点中的复选框并检查它们是否具有名为“isselected”的属性(我使用复选框模板填充),如果该属性设置为true
然后选中该复选框。这可以正常工作,但是当我想将复选框发布回服务器时会出现问题。通过上述代码选中的复选框不会反映在树视图的数据源中。现在我必须弄清楚如何做到这一点。如果有一个更优雅的解决方案而不是我正在使用的方法,我正在徘徊:手动选中复选框 - >在每个复选框上触发事件以更新其“isselected”属性或树视图数据源 - >发布值获取全部的检查值。
谢谢你的帮助。