最近在整个一页面里有多棵树的东东,主体如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'Treetest.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<link rel="StyleSheet" href="dtree.css" type="text/css" />
<script type="text/javascript" src="dtree.js"></script>
</head>
<body>
<SCRIPT type=text/javascript>
function onTreeType()
{
if(document.all('select').value==0)
{
T0.style.display="block";
T1.style.display="none";
which.style.display="";
}
if(document.all('select').value==1)
{
T0.style.display="none";
T1.style.display="block";
which.style.display="";
}
}
</SCRIPT>
<SELECT onchange=onTreeType() size=1 name=select>
<OPTION value=0 selected>第一个分类</OPTION>
<OPTION value=1 >第二个分类</OPTION>
</SELECT>
<div id = T0 class="dtree">
<script type="text/javascript">
d0 = new dTree('d0');
d0.add(0,-1,'第一个分类');
d0.add(1,0,'abc0','nulljavascript: parent.datefunc(\'abc0\',\'abc0\')');
d0.add(2,1,'abc1','nulljavascript: parent.datefunc(\'abc1\',\'abc1\')');
d0.add(3,2,'abc2','nulljavascript: parent.datefunc(\'abc2\',\'abc2\')');
d0.add(4,3,'abc3','nulljavascript: parent.datefunc(\'abc3\',\'abc3\')');
d0.add(5,4,'abc4','nulljavascript: parent.datefunc(\'abc4\',\'abc4\')');
document.write(d0);
d0.closeAll();
</script>
</div>
<div id = T1 class="dtree" style="display:none">
<script type="text/javascript">
d1 = new dTree('d1');
d1.add(0,-1,'第二个分类');
d1.add(1,0,'abcm','nulljavascript: parent.datefunc(\'abc0\',\'abc0\')');
d1.add(2,1,'abc1','nulljavascript: parent.datefunc(\'abc1\',\'abc1\')');
d1.add(3,2,'abc2','nulljavascript: parent.datefunc(\'abc2\',\'abc2\')');
d1.add(4,3,'abc3','nulljavascript: parent.datefunc(\'abc3\',\'abc3\')');
d1.add(5,4,'abc4','nulljavascript: parent.datefunc(\'abc4\',\'abc4\')');
document.write(d1);
d1.closeAll();
</script>
</div>
</body>
</html>
用dtree实现,起先的时候一直在两棵树的时候两棵都无法显示,后面发现是id冲突问题,即div的id和d0 = new dTree('d0');的d0这类变量名也不能重复,晕晕,整了两个多小时才发现。。
还有个就是转义字符了,如d1.add(5,4,'abc4','nulljavascript: parent.datefunc(\'abc4\',\'abc4\')');
其实就是在' '里的 ' 要用 \' ,本来还好,不难理解,但是因为是用jsp生成树,在jsp里就变成了
"javascript: parent.datefunc(\\'abc4\\',\\'abc4\\')"
就是在jsp里转义的不是' 而是要向页面输出个\ 所以在jsp里应该是\\
终于搞定,HOHO。
