Kendotreeview复选框清除了全部



我正在使用kendotreeview控件进行分层数据。另外,我需要提供清晰的功能,其中所有其他形式的字段,包括在Kendotreeview中进行的选择。所以我写了这样的东西:

 public ClearAll(): void {
        $('#myTreeView').find('input:checkbox').each(function (index,element) {
            $(element).prop('checked', false);
        });
            }

尽管这清除了Treeview中所有选定的复选框,但是在此之后,如果我再次检查父节点 - 儿童复选框未被检查。

此行为(未检查子节点)仅第一次发生,因此,如果我取消选中并再次检查父节点 - 将检查子节点。

i模拟此问题的示例示例:

http://dojo.telerik.com/@rahul_ec27/alihu

html

<button id="btnclear" class="k-button" onclick="ClearAll();">Clear All</button>

javascript

<script>
function ClearAll()
{
    $(".k-treeview .k-checkbox input").prop("checked", false).trigger("change");
}
</script>

再次设置数据源将重置检查,

     function ClearAll(){
      $("#treeview").data("kendoTreeView").setDataSource([
                {
                    id: 2, text: "Kendo UI Project", expanded: true, spriteCssClass: "folder", items: [
                        { id: 3, text: "about.html", spriteCssClass: "html" },
                        { id: 4, text: "index.html", spriteCssClass: "html" },
                        { id: 5, text: "logo.png", spriteCssClass: "image" }
                    ]
                },
                {
                    id: 6, text: "New Web Site", expanded: true, spriteCssClass: "folder", items: [
                        { id: 7, text: "mockup.jpg", spriteCssClass: "image" },
                        { id: 8, text: "Research.pdf", spriteCssClass: "pdf" },
                    ]
                },
                {
                    id: 9, text: "Reports", expanded: true, spriteCssClass: "folder", items: [
                        { id: 10, text: "February.pdf", spriteCssClass: "pdf" },
                        { id: 11, text: "March.pdf", spriteCssClass: "pdf" },
                        { id: 12, text: "April.pdf", spriteCssClass: "pdf" }
                    ]
                }
            ]);
  }

最新更新