<html>
<head><title>Jstemplates: Quick example</title>
<script src="../util.js" type="text/javascript"></script>
<script src="../jsevalcontext.js" type="text/javascript"></script>
<script src="../jstemplate.js" type="text/javascript"></script>
<script type="text/javascript">
var favdata = {title: 'Favorite Things', favs:['raindrops', 'whiskers', 'mittens']};
function showData(reprocess) {
var templateToProcess;
var peg = document.getElementById('peg');
if (!reprocess) { // Get a copy of the template:
templateToProcess = jstGetTemplate('t1');
// Clear the element to which we'll attach the template:
peg.innerHTML = '';
// Attach the template
domAppendChild(peg, templateToProcess);
}
else { // Use the copy we already have
templateToProcess = peg;
}
// Wrap our data in a context object:
var processingContext = new JsEvalContext(favdata);
// Process the template
jstProcess(processingContext, templateToProcess);
}
</script>
<link rel="stylesheet" type="text/css" href="css/maps2.deb.css"/>
</head>
<body onload="showData(false)">
<!--
The element to which our template will be attached at display-time:
-->
<div id="peg"></div>
<!--
A container to hide our template:
-->
<div style="display:none">
<!--
This is the template div. It will be copied and attached to the div above.
-->
<div id="t1">
<h1 jscontent="title"></h1>
<ul><li jscontent="$this" jsselect="favs"></li></ul>
</div>
</div>
<p>
<a href="#" onclick="favdata.favs.push('packages');showData(true);">Reprocess</a>
</p>
</body>
</html>