扩展dtree支持checkbox
最近仔细看了一下dtree的代码,它不支持checkbox很不爽,就自己动手加上了。修改后的代码与原来的dtree兼容,可以直接替换原工程中的dtree。详细示例请看附件。
/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn 电邮:wallimn@sohu.com 时间:2009-02-13
博客:http://blog.csdn.net/wallimn http://wallimn.iteye.com
网络硬盘:http://wallimn.ys168.com
/***********文章发表请与本人联系,作者保留所有权利*************/ 1 楼 grxie 2009-05-08 很强,正是我所需要的,谢了,请问如何默认选中节点?方法是什么。 2 楼 wallimn 2009-05-08 回复一下好麻烦呀。要做好多道题呀。
设置选中状态,请看我的例子。 3 楼 wallimn 2009-09-20 我的网络硬盘上有例子,地址:wallimn.ys168.com 4 楼 xiaosky 2009-11-26 这个确实有用的,我也正需要。
关键是性能怎么样。
回复做这么多的测试题,真是麻烦啊。 5 楼 songaiyun 2010-01-19 很好 感谢! 然后提问:
请问如何确定选定checkbox对应的tree的nodeid? 6 楼 wallimn 2010-01-19 有个函数,名字我忘记了,好像是getSelectedNodes 7 楼 songaiyun 2010-01-20 是不是 getCheckedNodes ? 能给具体说下么?着急找这个呢 感谢 8 楼 wallimn 2010-01-20 getCheckedNodes 9 楼 hitman小血 2010-05-13 我正在用您的修改后的dtree 但是发现个问题 当树形节点过多时 大概30个以上时 就获得不到被选中的id了 能告诉我怎么办么? 10 楼 wallimn 2010-05-13 那应该不会,我也因了呀,节点不止30个呀,你的问题可能出在其它方面。 11 楼 hitman小血 2010-05-13 能告诉我你的QQ号吗 那样说话方便 12 楼 Quen 2010-08-26 想问问,里面的级联选择(就是选定父节点时所有子节点也会被选定)是怎么设置的,如果我不想级联起来,那该怎么去修改呀!谢谢! 13 楼 wallimn 2010-08-26 修改级联选择,查看这个函数:dTree.prototype.cc=function(nodeId),可以通过给dTree加一个变量的方式来进行控制(查看dTree函数的定义)。 14 楼 stards_cai 2010-09-04 发现有些小问题,不知楼主是否能改善一下checkBox级联选中的算法:当所有同级节点未被同时选中的时候,父节点不应该被选中。(因为这样容易造成误解)
1.从未选到选取:点击节点的时候,判断该节点的所有同级节点是否都为checked==true,如果是,则设置父节点为选中;同时,如果它有子节点,则选中所有子节点。
2.从选中到取消:设置父节点为false; 同时,如果它有子节点,则设置所有子节点为false。 15 楼 wallimn 2010-09-06 修改级联选择,查看这个函数:dTree.prototype.cc=function(nodeId),可以通过对这个函数的修改实现自己的想法。不是很难,现在比较忙,顾不上弄这个。 16 楼 luoting2762 2011-01-25 请问如何确定选定checkbox对应的tree的nodeid? 17 楼 march_on 2012-07-29 请问我怎么才能把我选择的dtree中的节点信息传递给另外一个jsp界面呢。
我在js文件里面写了一个retrieve函数可以获得我选择的dtree节点信息
function retrieve()
{
var retrieveResult = new Array();
var selectedNodes = dtree.getCheckedNodes();
for( var i = 0; i < selectedNodes.length; ++i)
{
retrieveResult.push( dtree.aNodes[selectedNodes[i]].name );
}
}
但是下面我怎么把这个retrieveResult传递给另外的jsp界面呢
谢谢lz了 18 楼 wallimn 2012-07-31 拼接成a=1&a=2的形式传递。或者用表单