在使用jqxtree的过程中,有一种情况需要实现,即当部分子菜单选中时,父级菜单是变成黑框,只有全选子菜单才是对勾的选中状态。
那么问题来了,那就是怎么取得黑框的父菜单的变量值?
默认状态下,只有打钩的多选框,才能取到变量值,而这种黑框的,取不到,只能自己增加相应的方法。
我的方法是增加一个取得所有有子菜单的方法,该方法返回菜单树里所有的有子菜单的菜单项,方法如下:
getExpandItems: function() {
var b = new Array();
var c = this;
a.each(c.items, function() {
var d = this;
if (d.isExpanded) {
b.push(d)
}
});
return b
}
有了这个方法,就能得到所有的有子菜单的父菜单项了,那么怎么得到当前为黑框的父菜单项呢?
其实很简单,只需遍历这个所有父菜单项列表,判断该菜单项的checked为null,则就是黑框的菜单项。代码如下:
for(var i=0;i<expandItems.length;i++){
if (expandItems[i].checked == null){
parMenuId = expandItems[i].value;
}
}
这样就实现了选中子菜单的同时,还能够得到父菜单的变量值。
本文介绍如何在使用 jqxTree 控件时,实现在部分子菜单被选中时,父菜单显示为黑框状态,并通过自定义方法获取这些黑框父菜单的值。

647

被折叠的 条评论
为什么被折叠?



