Hi!
Is it possible to allow only one selection on WebTree? I have a pretty simple hierarchical data that needs to be shown to the user in tree-view manner (only 1 level deep). I also need to let the user to check any node, so checkboxes have been enabled. However, upon checking a node, I would like all other nodes to be un--checked. Is this possible?
I wrote the following code to iterate through the tree and un-check any node that is NOT the node that's being checked but the code reports "out of memory" error. It sounds like some sort of stack-overflow-type message and I think that for some reason the handler is getting called too many times. The tree is very small (just a few nodes in Level-0, and about 5-10 nodes in Level-1).
Can someone please point out what the problem is in my code below. Thanks for any help in advance!
{
var parents = tree.getNodes();
var children = parent.getChildNodes();
child.setChecked(false)
}
Thank you very much for the suggestion. It worked perfectly except for one thing: the exclusivity is only within the same parent. For instance, if the user expands one parent (using the + sign) and makes a selection of one of its children, then expands another parent and makes a selection of a child there, both children will still be slected. Can you possible make it work so that only 1 checkbox is allowed to be checked for the whole tree and not just one parent-subtree?
Again, thanks for all your effort.
Regards,
S.
Hi,
Try my routine, I tested it .. it works.
function UltraWebTree1_NodeChecked(treeId, nodeId, bChecked){ //Add code to handle your event here. debugger; var node = igtree_getNodeById(nodeId); var tree = igtree_getTreeById(treeId); if (!bChecked) return; debugger; if (node.getLevel() == 1) { var parent = node.getParent(); if (parent.getTag() == "Radio") { var nodes = parent.getChildNodes() for (var x = 0; x < nodes.length; x++) { if (nodes[x].Id != nodeId) { nodes[x].setChecked(false); } } } }