我用JSP做的一个手机库存系统,其中在入库时,其中有俩个下拉菜单,一个是手机类型(如摩托罗拉,三星)一个是手机型号(如L6,V360,x208),俩个下拉菜单的内容都从数据库中查询,如手机类型是rs.getstring(leixing),手机型号是用的rs.getstring(xinghao),现在遇到个问题就是如何在选择第一个下拉菜单时,如选择摩托罗拉则第二个自动只显示摩托罗拉的手机型号(如L6,v360),如选择三星则第二个下拉菜单只显示三星的手机型号,哪位高手能给指点指点该如何实现,或者是有更好的办法吗?
解决方案 »
- Runtime.getRuntime().exec(command) 如何把多条命令绑在一起执行?
- 关于JAVA数组操作的问题
- hal,query.setString不能赋值的问题
- 高分请求高手留步,帮忙解释啊下JMX的问题
- 在線等Struts分頁程序!!!!!!!
- 这是我 用tomcat运行jsp文件后出现的错误信息
- 当天揭贴!关于对数据库操作的代码重用问题
- 急求大婶知道,代码部分都弄好了,就是登录不上,是不是struts.xml配置错了?
- Apache+Tomcat的配置到底怎样才能整合到一起。(在线给分)
- 各位帮忙看看
- 有js的tree和时间的控件发个 谢谢了
- 好的JSF项目突然就不能跑了
var onecount2;
onecount2=0;
subcat2 = new Array();
<%
int m=0;
Datastore smallclass=(Datastore)request.getAttribute("dssmall");
for(int i=1;i<=smallclass.rowCount();i++){ String smallclassid=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"str_smallclassid"));
String bigcalssid=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"str_bigclassid"));
String smallclassname=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"smallclassname"));
%>
//型号名字,类型id,型号id
subcat2[<%=m%>] = new Array("<%=smallclassname%>","<%=bigcalssid%>","<%=smallclassid%>");//产生数组
<%
m++;
}%>
onecount2=<%=m%>;
function changelocation(id1,form1)
{
form1.smallclassid.length = 0;
var id1=id1;
var j;
form1.smallclassid.options[0] = new Option('请选择小类','');
for (j=0;j < onecount2; j++)
{
if (subcat2[j][1] == id1)
{
form1.smallclassid.options[form1.smallclassid.length] = new Option(subcat2[j][0], subcat2[j][2]);
}
} }
</script>
<LINK href=Site.css rel=stylesheet>
<title>- 添加文章</title>
</head>
<body topmargin="0">
<jsp:include page="../../top.jsp" />
<table border="1" width="100%" align=center cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="">
<form name=form1 method="get" action="addarticle.goto.add.do">
<tr align="center">
<td colspan="1" class="TDtop" height=25>
<div align="center" >┊ <B>添加文章--类别选择</B> ┊</div>
</td>
</tr>
<input type="hidden" name="typeid" value="<bonc:param name='typeid'/>">
<tr bgcolor="#FFFFFF">
<td align="center">
<p> </p>
<p>所属大类:
<select name="bigclassid" onChange="changelocation(this.value,this.form)" size="1">
<option selected value="">请选择大类</option>
<bonc:options name="bigclassOption"/>
</select>
所属小类:
<select name="smallclassid" size="1">
<option selected value="">请选择小类</option></select>
</p>
<p> </p>
</td>
</tr>
<tr>
<td align="center" height=25 class="TDtop">
<input type="button" value=" 返 回 " name="B1" onclick=javascript:history.go(-1) style="font-size: 9pt; color: #000000; background-color: #EAEAF4; solid #EAEAF4" onMouseOver ="this.style.backgroundColor='#ffffff'" onMouseOut ="this.style.backgroundColor='#EAEAF4'">
<input type="submit" value=" 继 续 " name="B1" style="font-size: 9pt; color: #000000; background-color: #EAEAF4; solid #EAEAF4" onMouseOver ="this.style.backgroundColor='#ffffff'" onMouseOut ="this.style.backgroundColor='#EAEAF4'">
</td>
</tr>
</form>
</table>
<jsp:include page="../../bottom.jsp"/>
</body>
</html>
<script language = "JavaScript">
var onecount2;
onecount2=0;
subcat2 = new Array();
<%
int m=0;
Datastore smallclass=(Datastore)request.getAttribute("dssmall");
for(int i=1;i<=smallclass.rowCount();i++){ String smallclassid=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"str_smallclassid"));
String bigcalssid=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"str_bigclassid"));
String smallclassname=General.convertNullToHTMLEmpty(smallclass.getItemString(i,"smallclassname"));
%> subcat2[<%=m%>] = new Array("<%=smallclassname%>","<%=bigcalssid%>","<%=smallclassid%>");//产生数组
<%
m++;
}%>
onecount2=<%=m%>;
function changelocation(id1,form1)
{
form1.smallclassid.length = 0;
var id1=id1;
var j;
form1.smallclassid.options[0] = new Option('请选择小类','');
for (j=0;j < onecount2; j++)
{
if (subcat2[j][1] == id1)
{
form1.smallclassid.options[form1.smallclassid.length] = new Option(subcat2[j][0], subcat2[j][2]);
}
} }
</script>
你没看见里面的<%%>????
就用javascript 每次一拉动 都触发一个事件
然后提交数据库 返回填充二级菜单啊 就这么简单
自己很轻松就能写出来
假如俩个下拉菜单的内容(value)分别是rs.getstring(1)和rs.getstring(2)应该怎么改呢?
我javascript一点也不懂
你的问题和这个问题差不多!都要做一个action!
好像这个用Ajax比较方便些吧,
瞅瞅.
http://blog.csdn.net/jiqimiao/archive/2007/04/26/1585665.aspx
看一下吧,不明白的可以留言给我
然后手机型号下拉菜单的内容根据form.手机类型.value来得到
这样的话真正要提交到下一页怎么办呀,那就是一个form提交到2个页面了
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
} function checkinfo(obj){
var phonetype = obj.value;
if(phpnetype=="请选择"){
alert("请选择手机类型");
}else{
createXMLHttpRequest();
var url = "process.jsp?type='"+phonetype+"'";
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = checkInfo;
xmlHttp.send(null);
}
}
function checkInfo(){
if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200) {
var response = xmlHttp.responseText;
eval(response);
}else{
alert("发生请求故障!");
}
}
}
</script>
一个ONCHANGE事件+JS+AJAX调用数据库数据返回数据
不就OK了```````AJAX麻烦的话用DWR