EasyUI为TreeGrid的已勾选节点,未勾选节点,只勾选部分子节点的父节点分别添加了三个不同的样式,如下:
样式一:tree-checkbox2 有子节点被选中
样式二:tree-checkbox1 节点被选中
样式三:tree-checkbox0 节点未选中
那么,我们就可以依据这三个样式分别取到所有已勾选的主键值了,为方便使用,我们写成TreeGrid的扩展方法,代码如下:
$.extend($.fn.treegrid.methods, {
//iscontains是否包含父节点(即子节点被选中时是否也取父节点)
getAllChecked: function (jq, iscontains) {
var keyValues = new Array();
/*
tree-checkbox2 有子节点被选中的css
tree-checkbox1 节点被选中的css
tree-checkbox0 节点未选中的css
*/
var checkNodes = jq.treegrid("getPanel").find(".tree-checkbox1");
for (var i = 0; i < checkNodes.length; i++) {
var keyValue1 = $($(checkNodes[i]).closest(‘tr‘)[0]).attr("node-id");
keyValues.push(keyValue1);
}
if (iscontains) {
var childCheckNodes = jq.treegrid("getPanel").find(".tree-checkbox2");
for (var i = 0; i < childCheckNodes.length; i++) {
var keyValue2 = $($(childCheckNodes[i]).closest(‘tr‘)[0]).attr("node-id");
keyValues.push(keyValue2);
}
}
return keyValues;
}
});
调用方法:
var kv = $("#XXX").treegrid("getAllChecked", true);
alert(kv);
另外,1.4.5版本以后的,提供如下几个方法:
var kv = $("#XXX").treegrid("getCheckedNodes"); 获取勾选的节点
var kv = $("#XXX").treegrid("checkNode",id); 根据ID勾选节点
var kv = $("#XXX").treegrid("uncheckNode",id); 根据ID取消勾选节点
easyui tree判断是不是有子节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui tree判断是不是有子节点相关的知识,希望对你有一定的参考价值。
参考技术A easyui tree判断是否有子节点现在让apache的apxs来自动向http.conf配置文件中加入LoadModule语句并将mod_rewrite.so文件拷贝到apache/libexec目录
/usr/local/apache/bin/apxs -i -A -n rewrite /root/apache_1.3.34/src/modules/standard/mod_rewrite.so 备注:命令中的rewrite参数是告诉apxs命令mod_rewrite.so文件中的模块名。在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。
如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。本回答被提问者采纳 参考技术B 一行再加个判断就可以搞定:
var isLeaf = $('treeId').tree('isLeaf',selected.target);
if(!isLeaf)
alert(‘此类下有子类!’);
return;
获取EasyUI的treegrid的checkbox所有已勾选的数据
以上是关于easyui tree判断是不是有子节点的主要内容,如果未能解决你的问题,请参考以下文章
easyui tree 怎么获取选择节点子节点上的值?js怎么写?