Kendo Treeview复选框更改事件

时间:2015-03-13 09:57:20

标签: kendo-ui kendo-treeview

我的树视图就是这个

 @(Html.Kendo().TreeView()
.Name("AccessControlTree")
.DataTextField("Name")
.Deferred()
.HtmlAttributes(new { style = "width: 500px" })
.Checkboxes(c => c
.CheckChildren(false)
 )
 .DataSource(dataSource => dataSource.Read(read => read.Action(@Model.ActionMethod, @Model.ControllerName, new { area = @Model.AreaName }).Data("sethierarchyoption"))
              .ServerFiltering(false))
               .LoadOnDemand(true)
               .Events(events =>
                              {
                                  events.DataBound("onTreeViewBound").Select("onSelect");
                              })

                    )

我需要自定义行为如下:1)如果我们选择父节点,则也选择子节点.2)如果未选择父节点,则用户应该能够选择单个子节点而不更改已检查状态父母 我可以通过制作' .CheckChildren(true)'来做第一个,但是然后第二个失败。我想如果我在java脚本中捕获已检查的更改事件,那么我可以解决这个问题。任何想法?

1 个答案:

答案 0 :(得分:0)

使用此问题解决了问题。function onTreeViewBound(e) { $("input:checkbox[name=checkedNodes]").on('click', function () { var checkedStatus = $(this).is(':checked'); $(this).closest(".k-item").find(".k-group .k-item input:checkbox[name=checkedNodes]").each(function () { $(this).attr('checked', checkedStatus); $(this).prop('checked', checkedStatus); }); }); }