Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
141
rated 0 times [  145] [ 4]  / answers: 1 / hits: 21598  / 11 Years ago, wed, september 4, 2013, 12:00:00

I display a hierachial structure using jtree, the data is as follows



<div id=songchanges><ul>
<li id=phtml_1>
<a href=#>C:</a>
<ul>
<li id=phtml_2>
<a href=#>Music</a>
<ul>
<li id=phtml_3>
<a href=#>Z</a>
<ul>
<li id=phtml_4>
<a href=#>Hans Zimmer</a>
<ul>
<li id=phtml_5><a href=FixSongsReport_00107_2013-09-04-11-11-55_body_blqxgT7E7YOmnBbjFXQGUg==.html>C:MusicZHans ZimmerHannibal</a></li>
</ul>
</li>
<li id=phtml_6>
<a href=#>The Zombies</a>
<ul>
<li id=phtml_7><a href=FixSongsReport_00107_2013-09-04-11-11-55_body_er7mjWKbAaYaf8DygP84Fg==.html>C:MusicZThe ZombiesBest of The Zombies</a></li>
<li id=phtml_8><a href=FixSongsReport_00107_2013-09-04-11-11-55_body_56XgVDhsjEKWXFd4OzVldA==.html>C:MusicZThe ZombiesThe Zombies featuring Colin Blunstone & Rod Argent</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>


and it displays okay, as a filesystem.



This is the part of a frameset and is displayed on the left handside of the screen and when user clicks on leaf node I want it to open the attached link on the right handside (as it does before i applied jtree stuff to it)



My jtree configuration is as follows



<head>
<meta http-equiv=Content-Type content=text/html; charset=UTF-8/>
<link rel=stylesheet type=text/css href=songkong.css>
<base target=main>
<script type=text/javascript src=http://static.jstree.com/v.1.0pre/jquery.js></script>
<script type=text/javascript src=http://static.jstree.com/v.1.0pre/jquery.cookie.js></script>
<script type=text/javascript src=http://static.jstree.com/v.1.0pre/jquery.hotkeys.js></script>
<script type=text/javascript src=http://static.jstree.com/v.1.0pre/jquery.jstree.js></script>
<link rel=stylesheet href=/resources/demos/style.css />
<script type=text/javascript class=source below>
$(function () {
$(#songchanges)
.jstree({
plugins : [themes,html_data,ui,crrm,hotkeys],
core : { initially_open : [ phtml_1 ] }
})
.bind(loaded.jstree, function (event, data) {
});
$(#songchanges).bind(open_node.jstree, function (e, data) {
data.inst.select_node(#phtml_1, true);
});
});
</script></head>


I read demo3 example



$(function () {
$(#demo3)
.jstree({ plugins : [themes,html_data,ui] })
// 1) if using the UI plugin bind to select_node
.bind(select_node.jstree, function (event, data) {
// `data.rslt.obj` is the jquery extended node that was clicked
alert(data.rslt.obj.attr(id));
})
// 2) if not using the UI plugin - the Anchor tags work as expected
// so if the anchor has a HREF attirbute - the page will be changed
// you can actually prevent the default, etc (normal jquery usage)
.delegate(a, click, function (event, data) { event.preventDefault(); })
});


and tried it but the .delegate option had no effect , I assume i have to removeui plugin but trying that my page just looks like Ive never applied jstree.



The bind option sort of worked, in that it displays an annoying alert window displaying the id every time i click on any node. So how can I change it to open the link in the right handside instead ?



Update
Found this answer Jstree nodes don't work when ui plugin is used



Adding



  .bind(select_node.jstree, function (e, data) {
var href = data.rslt.obj.children(a).attr(href);
// this will load content into a div:
$(#contents).load(href);
// this will follow the link:
document.location.href = href;
})


Now the link is opened when clicked on, unfortunately it replaces the lefthandside frame with the page, whereas I want it put it into the right hand pane, any ideas.


More From » html

 Answers
10

for new versions;



$(#demo2).jstree().bind(select_node.jstree, function (e, data) {
var href = data.node.a_attr.href;
document.location.href = href;
});

[#75902] Tuesday, September 3, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
tyasiaalmap

Total Points: 294
Total Questions: 107
Total Answers: 108

Location: Libya
Member since Mon, Dec 7, 2020
4 Years ago
;