jQuery DynaTree non funziona
Domanda
Sto cercando di ottenere un DynaTree (primo uso di esso) di lavoro w / o fortuna - ' "albero" appena si presenta come una lista HTML regolare. Sono sicuro che è qualcosa di banale, ma io non sto vedendo.
Ecco la mia struttura dei file:
Questa è la pagina (result.jsp) che l'albero è acceso:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>IDT HL7 Search Results</title>
<link rel="stylesheet" type="text/css" href="css/messaging.css" />
<link rel="stylesheet" type="text/css" href="css/ui.dynatree.css" />
<script type="text/javascript" src="js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="js/jquery.dynatree.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" src="js/jquery.cookies.2.2.0.js"></script>
<!-- Add code to initialize the tree when the document is loaded: -->
<script type="text/javascript">
$(document).ready(function() {
// Attach the dynatree widget to an existing <div id="tree"> element
// and pass the tree options as an argument to the dynatree() function:
$("#tree").dynatree({
onActivate: function(node) {
// A DynaTreeNode object is passed to the activation handler
// Note: we also get this event, if persistence is on, and the page is reloaded.
alert("You activated " + node.data.title);
},
children: [
{title: "Item 1"},
{title: "Folder 2", isFolder: true, key: "folder2",
children: [
{title: "Sub-item 2.1"},
{title: "Sub-item 2.2"}
]
},
{title: "Item 3"}
]
});
$("a").click(function() {
alert("Hello world!");
});
});
</script>
</head>
<body>
<h2 class="center">IDT HL7 Search Results</h2>
<div id="search">
<fieldset class="search-fields">
<legend>Currently viewing</legend>
Site: <input type="text" name="currentSite" disabled="disabled" value=<%= request.getParameter("searchFor") %> />
CSID: <input type="text" name="currentCsid" disabled="disabled" value=<%= request.getAttribute("csidValue") %> />
RCR: <input type="text" name="currentRcr" disabled="disabled" />
<a href="index.jsp"><b>New Search</b></a>
</fieldset>
</div>
<br/>
<div>
<form>
<input type="checkbox" name="filterBy" value="Filter by:" /> Filter results by:
<input type="text" name="filterBy" />
</form>
</div>
<br/>
<div id="content">
<div id="sub-left">
<fieldset class="search-fields">
<legend>Files Found</legend>
<!-- Add a <div> element where the tree should appear: -->
<div id="tree">
<ul>
<li>Orders
<ul>
<li>From Client
<ul>
<li> document 1.1.1</li>
<li> document 1.1.2</li>
</ul>
</li>
<li>To Lab
<ul>
<li>document 1.2.1</li>
<li>document 1.2.2</li>
</ul>
</li>
</ul>
</li>
<li> Results
<ul>
<li> From Lab
<ul>
<li>document 2.1.1</li>
<li>document 2.1.2</li>
</ul>
</li>
<li>To Client
<ul>
<li>document 2.2.1</li>
<li>document 2.2.2</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</fieldset>
</div>
<div id="sub-right">
<fieldset class="search-fields">
<legend>Selected File Contents</legend>
<textarea rows="14" wrap="soft" readonly="readonly">
(select via tree on left)
</textarea>
</fieldset>
</div>
<div class="clear-both"></div>
</div>
</body>
</html>
Tutte le idee? Grazie! Mark
Soluzione
Si deve includere jQuery e jQuery-ui prima dynatree
Altri suggerimenti
Vedo che hai misti due esempi alla volta. Si tenta di avviare dynatree su e oggetto JavaScript nello stesso tempo. Utilizzare un solo di avviare:
1) Dare una lista non ordinata, la generazione di eliminazione da uno script (Come in http://wwwendt.de/tech/dynatree/doc/samples.html - default)
<div id="tree">
<ul>
<li>Orders
<ul>
<li>From Client
<ul>
<li> document 1.1.1</li>
<li> document 1.1.2</li>
</ul>
</li>
<li>To Lab
<ul>
<li>document 1.2.1</li>
<li>document 1.2.2</li>
</ul>
</li>
</ul>
</li>
<li> Results
<ul>
<li> From Lab
<ul>
<li>document 2.1.1</li>
<li>document 2.1.2</li>
</ul>
</li>
<li>To Client
<ul>
<li>document 2.2.1</li>
<li>document 2.2.2</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
$(document).ready(function() {
$("#tree").dynatree();
});
2) oggetto Leave javascript, cancellazione lista non ordinata ??strong> (Come in http://wwwendt.de/tech/dynatree/doc/samples.html - init da oggetto JS)
<div id="tree"></div>
$(document).ready(function() {
$("#tree").dynatree({
onActivate: function(node) {
// A DynaTreeNode object is passed to the activation handler
// Note: we also get this event, if persistence is on, and the page is reloaded.
alert("You activated " + node.data.title);
},
children: [
{title: "Item 1"},
{title: "Folder 2", isFolder: true, key: "folder2",
children: [
{title: "Sub-item 2.1"},
{title: "Sub-item 2.2"}
]
},
{title: "Item 3"}
]
});
});