This was fixed on trunk, which will be 2.1. The problem you are having is because Dojo changed the API, now instead of passing the id, an object is passed, with a "node" property pointing to the widget object for the selected node, so to get the id of that node, do something like:
dojo.even.topic.subscribe("your_topic_here", function(e){ alert("The id is:" + e.node.widgetId); }); musachy On 4/16/07, Minerva CC <[EMAIL PROTECTED]> wrote:
Hi Dave, Thanks for pointing out the problem. But, how can we work around before you guys post the fix? I tried to just put the dojo code that generated by the tree tag and combined with the code in the showcase and the solution posted by Manu Mahajan. My test.jsp looks like follows. Now, it can fire a node selected event. However, when I tried to show which node has been selected by display the nodeId, I got [object Object] displayed. I tried nodeId.id and it didn't work either. I am not familar with dojo, would you mind to tell me how can I get the id value? <%@ taglib prefix="s" uri="/struts-tags"%> <html> <head> <script type="text/javascript"> </script> </head> <body> <link rel="stylesheet" href="/person/struts/xhtml/styles.css" type="text/css"/> <script language="JavaScript" type="text/javascript"> // Dojo configuration djConfig = { baseRelativePath: "/person/struts/dojo", isDebug: false, bindEncoding: "UTF-8", debugAtAllCosts: true // not needed, but allows the Venkman debugger to work with the includes }; </script> <script language="JavaScript" type="text/javascript" src="/person/struts/dojo/dojo.js"></script> <script language="JavaScript" type="text/javascript" src="/person/struts/simple/dojoRequire.js"></script> <script language="JavaScript" type="text/javascript" src="/person/struts/ajax/dojoRequire.js"></script> <script language="JavaScript" type="text/javascript" src="/person/struts/CommonFunctions.js"></script> <script language="JavaScript" type="text/javascript"> <!-- dojo.require("dojo.lang.*"); dojo.require("dojo.widget.*"); dojo.require("dojo.widget.Tree"); // dojo.hostenv.writeIncludes(); --> </script> <script> function treeNodeSelected(nodeId) { alert ('treenode selected: '+ nodeId); dojo.io.bind({ url: "<s:url value='showtree.action' />?search_order_id="+nodeId, load: function(type, data, evt) { var displayDiv = dojo.byId("displayId"); displayDiv.innerHTML = data; }, mimeType: "text/html" }); }; dojo.event.topic.subscribe("nodeSelected", this, "treeNodeSelected"); </script> <dojo:TreeSelector widgetId="treeSelector" eventNames="select:nodeSelected"></dojo:TreeSelector> <div dojoType="Tree" selector="treeSelector"> <div dojoType="TreeNode" title="root" id="0"> <div dojoType="TreeNode" title="node1" id="1"> </div> <div dojoType="TreeNode" title="node2" id="2"> </div> </div> </div> </body> ----- Original Message ---- From: Dave Newton <[EMAIL PROTECTED]> To: Struts Users Mailing List <user@struts.apache.org> Sent: Friday, April 13, 2007 4:53:15 PM Subject: Re: [S2] How to link Tree Node to another dynamic ajax div --- Minerva CC <[EMAIL PROTECTED]> wrote: > I followed the instruction for the tree tag and > created a treeview. Now, I want to select a tree > node and display some data in another ajax div. IIRC you need to use Dojo topics to do useful things with tree events. Alas, I do not think they are working currently as discussed in a thread a week or two ago (where I swore my code worked but it had apparently broken at least a few weeks before and I hadn't noticed :/ For further details, search the archives for thread (I don't recall the subject) and look for Manu Mahajan's messages as he was the driver behind a potential fix. https://issues.apache.org/struts/browse/WW-1813 d. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
-- "Hey you! Would you help me to carry the stone?" Pink Floyd