我正在使用带有复选框实现的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": "")
}
答案 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
处理程序中使用它。