SQL中有两个表分别对应一级栏目和二级栏目,我想通过一级栏目菜单的更改而改变二级菜单里面的内容,看到了不同的实例,我的代码已经能够实现一级栏目菜单的选择,不过一级栏目的改变并没有令二级栏目有所改变,IE 提示是JAVASCRIPT的错误,请问我的代码到底错在哪里呢?谢谢------JAVASCRIPT-------
<SCRIPT LANGUAGE="JavaScript">
<%ResultSet rs;
ResultSet ps = sqlbean.executeQuery("select * from tb_news_class1");
int i=0,j;%>
var arrFir=new Array();
var arrSec=new Array();
<%while(ps.next()){%>
arrFir[<%=i%>]=new Array("<%=ps.getString("name")%>");
<%int parentid=Integer.parseInt(ps.getString("id"));
rs = sqlbean.executeQuery("select * from tb_news_class2 where parentid="+parentid+"");
j=0;
while(rs.next()){%>
arrSec[<%=i%>]=new Array();
arrSec[<%=i%>][<%=j%>]==new Array("<%=rs.getString("name")%>");
<%j++;}
rs.close();
i++;}
ps.close();%>function fir_class()
{
var e = document.form1.select_fir;
for (var i=0; i<arrFir.length; i++)
e.options.add(new Option(arrFir[i], arrFir[i]));
}
function sec_class()
{
var e = document.form1.select_sec;
for (var i=e.options.length; i>0; i--) e.remove(i);
var Count,n;
Count=0;
n=document.form1.select_fir.selectedIndex;
if(n==0) return;
for (var i=0; i<arrSec[n].length; i++)
e.options.add(new Option(arrSec[n][i], arrSec[n][i]));
/*另一种方法还是不行
while (arrSec[n][Count]!=null)
Count++;
document.form1.select_sec.length=Count;
for (i=0;i<=Count-1;i++)//改变下拉菜单的内容
document.form1.select_sec[i]=new Option(arrSec[n][i]);
document.form1.select_sec.focus();
*/
}
function window.onload()
{
fir_class(); //初始时给fir_class下拉菜单赋内容
}
</SCRIPT>------HTML--------
<form id="form1" name="form1" method="post" action="">
<label>
一级分类:
<select id="select_fir" name="select_fir" style="width:120" onchange="sec_class()"><option value="">请选择一级分类</option>
</select>
</label>
<label>
二级分类:
<select id="select_sec" name="select_sec" style="width:120">
</select>
</label>
</form>
<SCRIPT LANGUAGE="JavaScript">
<%ResultSet rs;
ResultSet ps = sqlbean.executeQuery("select * from tb_news_class1");
int i=0,j;%>
var arrFir=new Array();
var arrSec=new Array();
<%while(ps.next()){%>
arrFir[<%=i%>]=new Array("<%=ps.getString("name")%>");
<%int parentid=Integer.parseInt(ps.getString("id"));
rs = sqlbean.executeQuery("select * from tb_news_class2 where parentid="+parentid+"");
j=0;
while(rs.next()){%>
arrSec[<%=i%>]=new Array();
arrSec[<%=i%>][<%=j%>]==new Array("<%=rs.getString("name")%>");
<%j++;}
rs.close();
i++;}
ps.close();%>function fir_class()
{
var e = document.form1.select_fir;
for (var i=0; i<arrFir.length; i++)
e.options.add(new Option(arrFir[i], arrFir[i]));
}
function sec_class()
{
var e = document.form1.select_sec;
for (var i=e.options.length; i>0; i--) e.remove(i);
var Count,n;
Count=0;
n=document.form1.select_fir.selectedIndex;
if(n==0) return;
for (var i=0; i<arrSec[n].length; i++)
e.options.add(new Option(arrSec[n][i], arrSec[n][i]));
/*另一种方法还是不行
while (arrSec[n][Count]!=null)
Count++;
document.form1.select_sec.length=Count;
for (i=0;i<=Count-1;i++)//改变下拉菜单的内容
document.form1.select_sec[i]=new Option(arrSec[n][i]);
document.form1.select_sec.focus();
*/
}
function window.onload()
{
fir_class(); //初始时给fir_class下拉菜单赋内容
}
</SCRIPT>------HTML--------
<form id="form1" name="form1" method="post" action="">
<label>
一级分类:
<select id="select_fir" name="select_fir" style="width:120" onchange="sec_class()"><option value="">请选择一级分类</option>
</select>
</label>
<label>
二级分类:
<select id="select_sec" name="select_sec" style="width:120">
</select>
</label>
</form>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货