当我在树视图中选择父级时,如何获取子名称

时间:2012-11-12 06:03:31

标签: asp.net-mvc visual-studio kendo-ui

我正在使用带有复选框实现的kendoUI树视图。 当我选中父复选框时,我可以检查所有孩子的复选框。 现在,我想在选中父复选框时获取所有子项的文本值。 我在树视图中使用模板进行复选框操作

$("#ProjectUsersTreeView [type=checkbox]").live('change', function (e) {                       var chkbox = $(this);
                        var parent = chkbox.parent();                            
    var pBox = $(parent).closest('.k-item').find(":checkbox");                               

                       if (this.checked || pBox.length>0) {
                           $(pBox).prop('checked',this.checked ? "checked": "")      
}

1 个答案:

答案 0 :(得分:0)

我建议您使用KendoUI配置选项checkChildren。

,而不是使用您的代码来检查子项
tree = $("#ProjectUsersTreeView").kendoTreeView({
            checkboxes:{
                checkChildren: true
            },
            ...
        }).data("kendoTreeView");

然后使用所有选定的文字:

$("#ProjectUsersTreeView [type=checkbox]").live('change', function (e) {
            var checked = $("input:checked", tree);
            $.each(checked, function(idx, elem) {
                console.log("text", tree.text(elem));
            })
        });

checked中,我从树中获取实际为input的所有checked个元素,并通过使用text方法获取它来在控制台上显示其文本。

注意:意识到我已将tree定义为$("#ProjectUsersTreeView").data("kendoTreeView"),然后在change处理程序中使用它。