用梅花雪脚本控件: MzTreeView1.0 在web上面做一个动态的树,用jsp做,如何能动态生成啊!
我动态生成的节点,但节点上没有属性字符啊!狂晕,我的代码如下:
<head>
</head>
<body><script language="JavaScript"
src="e:/MzTreeView10/MzTreeView10.js"></script>
<style>
A.MzTreeview
{
font-size: 9pt;
padding-left: 3px;
}
</style>
<script language="JavaScript">
var tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片 tree.setIconPath("e://MzTreeView10//"); //可用相对路径 tree.nodes["0_1"] = "text:我的根";
tree.nodes["1_400"] = "text:JavaScript; icon:book; data:id=400";
tree.nodes["400_409"] = "text:属性; data:id=409";
tree.nodes["408_1239"] = "text:||; data:id=239; method:alert('节点响应:HTML方法:alert!');"; //调用html方法:alert
tree.nodes["409_1163"] = "text:E; data:id=163; method:myMethod('节点响应:调用自定义函数:myMethod!')"; //调用自定义函数:myMethod
var strstree="\""+"text:"+"动态节点500"+"; data:id=500"+"\"";
//mytree(tree,strstree);//用方法动态定义“Tree”的子节点。
//注:动态定义的方法要与 var tree = new MzTreeView("tree");它在同一个<script language="JavaScript">中! tree.nodes["1_600"]="text:动态生成600; data:id=500";
tree.nodes["1_700"]=strstree;
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
function mytree(mytreevar,strtext){
mytreevar.nodes["1_500"]=strtext;
}
function myMethod(str){
alert(str);
top.fmyshow.myshow.value="从Tree窗口传来的值!";
}
function cc(){
cccc.value=strstree;
}
</script>
<input type="text" id="cccc" size=50 value=""/>
<input type="button" id="11" value="cc" onClick="cc();"/>
</body>
</html>
我动态生成的节点,但节点上没有属性字符啊!狂晕,我的代码如下:
<head>
</head>
<body><script language="JavaScript"
src="e:/MzTreeView10/MzTreeView10.js"></script>
<style>
A.MzTreeview
{
font-size: 9pt;
padding-left: 3px;
}
</style>
<script language="JavaScript">
var tree = new MzTreeView("tree"); tree.icons["property"] = "property.gif";
tree.icons["css"] = "collection.gif";
tree.icons["book"] = "book.gif";
tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片 tree.setIconPath("e://MzTreeView10//"); //可用相对路径 tree.nodes["0_1"] = "text:我的根";
tree.nodes["1_400"] = "text:JavaScript; icon:book; data:id=400";
tree.nodes["400_409"] = "text:属性; data:id=409";
tree.nodes["408_1239"] = "text:||; data:id=239; method:alert('节点响应:HTML方法:alert!');"; //调用html方法:alert
tree.nodes["409_1163"] = "text:E; data:id=163; method:myMethod('节点响应:调用自定义函数:myMethod!')"; //调用自定义函数:myMethod
var strstree="\""+"text:"+"动态节点500"+"; data:id=500"+"\"";
//mytree(tree,strstree);//用方法动态定义“Tree”的子节点。
//注:动态定义的方法要与 var tree = new MzTreeView("tree");它在同一个<script language="JavaScript">中! tree.nodes["1_600"]="text:动态生成600; data:id=500";
tree.nodes["1_700"]=strstree;
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
function mytree(mytreevar,strtext){
mytreevar.nodes["1_500"]=strtext;
}
function myMethod(str){
alert(str);
top.fmyshow.myshow.value="从Tree窗口传来的值!";
}
function cc(){
cccc.value=strstree;
}
</script>
<input type="text" id="cccc" size=50 value=""/>
<input type="button" id="11" value="cc" onClick="cc();"/>
</body>
</html>
这个串给tree.nodes["1_700"]=strstree;,可它怎么也不能给赋上去,这是为什么啊!
你这样写就表示一个字符,它的内容还包含了双引号。
没有用过这个控件,只是猜测。
你是说梅花的树不能动态生成了吗。可是csdn里面好像是动态生成 的啊。它里面没有静态的代码啊。你可以到csdn的树的页面上去看一下它的代码。是完全动态生成的啊
那一个人啊,能给个地址吗?
引号不是格式,只要保证引号中的为字符串,引号就可以去除。下面是分解后做的方法:
<script language="JavaScript"
src="C:/Documents and Settings/zzm/jbproject/untitled3/WebModule1/MzTreeView10/MzTreeView10.js"></script>
<style>
...
<script language="JavaScript">
var tree = new MzTreeView("tree");
mytree(tree,"0","1","动态生成1","myMethod('动态生成1')");
document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();//动态建立树的方法:
function mytree(tree,ParentsID,ID,TextProperty,Method){
tree.nodes[ParentsID+"_"+ID]="text:"+TextProperty+"; data:id="+ID+";method:"+Method;
}
//方法,用于显示:
function myMethod(str){
alert(str);
//top.ShowMessage.mytext.value=str;
top.ShowMessage.mytext.value=str;
}
</script>
ArrayList _datalist= new ArrayList();
_datalist = myArrary.mytree1();for(int i=0;i<_datalist.size();i++){
%>mytree(tree,"<%=((dataBean)_datalist.get(i)).getClassId()%>",
"<%=((dataBean)_datalist.get(i)).getParentId()%>",
"<%=((dataBean)_datalist.get(i)).getFullName()%>",
"myMethod","<%=((dataBean)_datalist.get(i)).getFullName()%>");
<%
}
%> document.write(tree.toString()); //亦可用 obj.innerHTML = tree.toString();
//动态建立树的方法:
//参数说明:tree:是树的一个对象MzTreeView,
// ParentsID:是父节点的ID,字符串类型
// ID是本节点的ID:字符串类型
// TextProperty:是本节点显示的文字内容,字符串类型
// Method:是方法名字(带参数在内),字符串类型
// Methodparameter:Method方法的参数
function mytree(tree,ParentsID,ID,TextProperty,Method,Methodparameter){
tree.nodes[ParentsID+"_"+ID]="text:"+TextProperty+"; data:id="+ID+";method:"+Method+"('"+Methodparameter+"')";
}
//方法,用于显示:
function myMethod(str){
alert(str);
top.ShowMessage.mytext.value=str;
} </script>