表的结构 id classid bigclassid classname
1 11 0 分类1
2 12 11 分类2
3 13 0 分类3
4 14 13 分类4
5 15 11 分类5 其中,分类1和分类3,为一级分类,分类2、4、5为二级分类。
分类2,分类5,是分类1的二级分类,分类4是分类3的二级分类。 我想实现选择分类1时,二级联动菜单为他相应的二级分类,,,谢谢。。
1 11 0 分类1
2 12 11 分类2
3 13 0 分类3
4 14 13 分类4
5 15 11 分类5 其中,分类1和分类3,为一级分类,分类2、4、5为二级分类。
分类2,分类5,是分类1的二级分类,分类4是分类3的二级分类。 我想实现选择分类1时,二级联动菜单为他相应的二级分类,,,谢谢。。
4楼这位朋友适当改成sql语句就可以了代码如下 <script language="javascript">
<!--
var subcat = new Array();
[e:loop={'select * from phome_enewsclass where bclassid<>0 and classid<>104 and classid<>106 and classid<>107' ,100,24,0}]
subcat[<?=$bqr[myorder]?>] = new Array('<?=$bqr[bclassid]?>','<?=$bqr[classname]?>','<?=$bqr[classid]?>')
[/e:loop]function changeselect1(locationid)
{
document.form1.s2.length = 0; //初始化下拉列表 清空下拉数据
document.form1.s2.options[0] = new Option('==请选择==',''); //给第一个值
for (i=0; i<subcat.length; i++) //legth=20
{
if (subcat[i][0] == locationid) //[0] [1] 第一列 第二列
{document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][1], subcat[i][2]);} //建立option
//第一次 length=1 因为有==请选择==
//i=9时 length= 10 值有11个 因为从0数起 subcat[i][0] == locationid屏蔽了再写
}
}//-->
</script>
<select name="s1" onChange="changeselect1(this.value)">
<option>==请选择==</option>
[e:loop={'select * from phome_enewsclass where bclassid=0 and classid<>104 and classid<>106 and classid<>107' ,100,24,0}]
<option value="<?=$bqr[classid]?>"><?=$bqr[classname]?></option>
[/e:loop]
</select><select name="s2" onChange="alert(this.value)">
<option>==请选择==</option>
</select>
我认为复杂的地方主要是获取分级数据,把sql语句搞明白了就好了,祝你顺利!
不过你说连建表也建不明白,那应该着重学学sql语句呀。还有这种联动菜单,多学学javascript.