这几天又花时间做了一个,使用起来效果更好,因为没有时间写更多的帮助,大家慢慢研究代码吧!
最近项目中要用到下拉多选树,有人从网上找了一个,用了一段时间后发现有一些问题,一个页面中只能有一个下拉树,我就研究其中的代码,自己重新写了一个下拉页面的脚本,能够在一个页面中使用多个下拉树。
其原理其实就是用DIV的隐藏的显示来实现下拉页面,页面放在了DIV里的一个FRAME里,用JS来控制这些显示与隐藏,废话不多说了,把源码给大家公布一下。代码中如有不足之处敬请大家指出。
给大家说一下它的用法,首先在页面里加上JS文件:
在需要下拉树的地方写一个DIV:
JS里用到了两个图片,你可以把这两个图片放到主页面同一层的路径下,或者直接修改JS源文件,把它指向你自己的路径。
目标页面需要加一些东西,写一个函数:
function getUserData(tag){
var ids = tree1.getAllChecked();
if(ids.length==0)return "";
if(tag=="id")
return tree1.getAllChecked();
else if(tag=="name"){
var idArray = ids.split(",");
var names=tree1.getItemText(idArray[0]);
for(i=1;i names += "," + tree1.getItemText(idArray[i]);
return names;
}
}
其中的返回值可以根据你的页面要实现的功能改动。
在页面的onload事件中创建:dropDownPage.createNewPage("2.htm","tree1","text1",200);
这个函数中的参数给大家详细解释一下,
第一个是下拉时出来的页面的URL;
第二个是你创建的DIV的ID;
第三个是你用来存放页面返回ID的FORM的字段的(id或name都行,如果你的主页面里没有这样的字段,JS会帮你创建它);
第四个是宽度,单位是象素。