表中有三个字段,格式大概如下:
A B C
河北 石家庄 XX县
河北 石家庄 XX县2
河北 保定 XX县
河南 新乡 XX县
河南 新乡 XX县2请教各位高手如何做出三级联动菜单?
A B C
河北 石家庄 XX县
河北 石家庄 XX县2
河北 保定 XX县
河南 新乡 XX县
河南 新乡 XX县2请教各位高手如何做出三级联动菜单?
解决方案 »
- 老是同一个问题,很多php空间都有
- 请问\u706b\u5f71是什么编码啊,怎么转成正常的字符
- redhat enterprise linux 4 中安装discuz论坛提示服务器不支持MYSQL
- 有个地方不明白
- http回应中content-type和网页中meta标签设置的不一样,请问原因
- 无重复编号
- php 远程连接oracle 报错:Fatal error: Call to undefined function OCILOGON()
- 请问这个smarty模版程序怎么写?在线等,急。
- 如何让PHP读取EXCEL文件。
- 请给我解释下这个服务器描述语言是什么意思??
- php下如何安装openssl
- 哪位大哥推荐一个PHP邮件类啊?
<!--
var subcat = new Array();
<?
$i=0;
$sql="select * from sanji ";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "subcat[".$i++."] = new Array('".$arr["A"]."','".$arr["B"]."','".$arr["C"]."');\n";
}
?>
var subcat2 = new Array();
<?
$i=0;
$sql="select * from sanji ";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "subcat2[".$i++."] = new Array('".$arr["A"]."','".$arr["B"]."','".$arr["C"]."');\n";
}
?>
function changeselect1(locationid)
{
document.form1.s2.length = 0;
document.form1.s2.options[0] = new Option('==请选择==','');
for (i=0; i<subcat.length; i++)
{
if (subcat[i][0] == locationid)
{document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][2], subcat[i][2]);}
}
}
function changeselect2(locationid)
{
document.form1.s3.length = 0;
document.form1.s3.options[0] = new Option('==请选择==','');
for (i=0; i<subcat2.length; i++)
{
if (subcat2[i][1] == locationid)
{document.form1.s3.options[document.form1.s3.length] = new Option(subcat2[i][3], subcat2[i][3]);}
}
}
//-->
</script>
三级联动:<BR>
<form name="form1">
<select name="s1" onChange="changeselect1(this.value)">
<option>==请选择==</option>
<?
$sql="select distinct A from sanji";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "<option value=".$arr["A"].">".$arr["A"]."</option>\n";
}
?>
</select>
<select name="s2" onChange="changeselect2(this.value)">
<option>==请选择==</option>
</select>
<select name="s3" onChange="alert('选选择'+this.value)">
<option>==请选择==</option>
</select>
</form>
<BR>
</body>
</html>
主要是我的数据库的格式是上面所显示的哪样的
还有我改了找下一级的规则,但是在点选第一级后,第二级应该会变的吧,就算它找不到第二级的东西,可现在点选第一级后,第二级一点也不变,就好像是<select name="s1" onChange="changeselect1(this.value)">中的onChange没有起作用一样
但这个JS代码就有问题了,不兼容。JS里:
for (i=0; i<subcat.length; i++)
相对于
var subcat_len=subcat.length;
for (i=0; i<subcat_len; i++)
的执行效率,在数据叫多的时候,尤其慢