喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

[北京]代朋友公司招聘PHP高级程序员多名

上一主题 下一主题
     
标题: 人气好低啊,哪位大虾看看我这个问题吧  
 
lozenz (lozenz)
注册会员
Rank: 2
一般会员



UID 28229
精华 0
积分 64
帖子 72
金钱 64 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2004-5-1
状态 离线
人气好低啊,哪位大虾看看我这个问题吧

这是龙大哥曾发布一个无限级联动菜单代码。
我想加上php的数据库程序,可是这段代码本身就运行错误,让我无从下手。请教大虾,这个问题出在哪啊?
我对js不太了解,请斑竹明示,怎么解决这个问题啊

运行的时候,只显示:undefined

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无限级联动菜单</title>
</head>

<body>
<script language="JavaScript" type="text/JavaScript">
function listNode(id,pid,text) {
        this.id=id;         //id值
        this.pid=pid;        //父id
        this.text=text;       //显示的标题
}

function List(objName,selectName,firstOptionText,firstOptionValue,selectClass,optioneClass) {
        this.objName=objName;              //本对象名
        this.selectName=selectName;           //选单名前缀,后缀自动从0开始,第级选单加1,在提交表单时用此名称
        this.selectClass=selectClass;          //select的CSS之class
        this.optioneClass=optioneClass;         //option的CSS之class
        this.firstOptionText=firstOptionText;      //第一个选项的text
        this.firstOptionValue=firstOptionValue;     //第一个选项的value
        this.groupid=[];
        this.nodes=[];//所有记录
        this.str="";
};

List.prototype.add = function(id,pid,text) {
        if (!this.groupid[pid])this.groupid[pid]=new Array();
        this.groupid[pid][this.groupid[pid].length]=id;
        this.nodes[id]= new listNode(id,pid,text);
};

List.prototype.toString = function() {
        this.str=this.getStr(1,0);
        return this.str;
}


List.prototype.getStr=function (pid,level){
        var str='';
        if (!this.groupid[pid]) return str;
        if (this.selectClass) str+=" class=\""+selectClass+"\"";
        str = '<select name="'+this.selectName+level+'" id="'+this.selectName+level+'"'+str+' onchange="'+this.objName+'.changeChildList(this.options[this.selectedIndex].value,'+level+')">';
        if (this.firstOptionText){
                str += '<option value="'+this.firstOptionValue+'"';
                if (this.optioneClass)str+=' class="'+optioneClass+'"';
                str += '>'+this.firstOptionText+'</option>';
        }
        var total=this.groupid[pid].length;
        for (var i=0;i<total;i++){
                var cid=this.groupid[pid];
                var cn=this.nodes[cid];//本节点对象
                str += '<option value="'+cid+'"';
                if (this.optioneClass) str+=' class="'+optioneClass+'"';
                str += '>'+cn.text+'</option>';
        }
        str += "</select>";
        str +='<div id="'+this.selectName+'childList'+level+'">';
        if (!this.firstOptionText)str +=this.getStr(this.nodes[this.groupid[pid][0]].id,level+1);
        str +='</div>';

        return str;

}


List.prototype.changeChildList = function (pid,level){
        var str=this.getStr(pid,level+1);
       alert('childList'+level+'.innerHTML='+str);
        eval(this.selectName+'childList'+level+'.innerHTML=\''+str+'\'');
}

var list=new List('list','select','全部',0);
list.add(1,-1,'Smarty 入門');
list.add(5,1,'控制樣版的內容');
list.add(16,5,'巢狀資料的呈現');
list.add(17,5,'轉換資料庫中的資料');
list.add(18,5,'決定內容是否顯示');
list.add(7,5,'樣版引擎的運\作原理');
list.add(19,7,'aaa');
list.add(2,1,'Smarty介紹');
list.add(8,2,'使用Smarty的一些概念');
list.add(4,1,'從變數開始');
list.add(14,4,'修飾你的變數');
list.add(13,4,'如何使用變數');
list.add(3,1,'Smarty的基礎');
list.add(9,3,'安裝Smarty');
list.add(10,3,'程式的資料夾設定');
list.add(11,3,'第一個用Smarty寫的小程式');
list.add(12,3,'如何安排你的程式架構');
list.add(20,1,'asdads');
list.add(21,1,'111111111111');
list.add(22,1,'test');
list.add(23,22,'test1');
list.add(24,23,'test11');
list.add(25,24,'test111');
list.add(26,25,'test1111');
list.add(27,23,'test2');
document.write(list);
</script>

</body>
</html>
2006-7-19 09:45 PM#1
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.025313 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP