asp点击二级分类时只显示一级分类对应的二级分类
说明:数据库相关表和字段一级分类目录表jle_class1字段有id,class1name,Class1Sort二级分类目录表jle_class2字段有id,class2...
说明:数据库相关表和字段
一级分类目录表 jle_class1 字段有 id,class1name,Class1Sort
二级分类目录表 jle_class2字段有 id,class2name,Class1 ,Class2Sort,其中Class1索引一级分类ID
信息文章表 jle_info 字段有id,in_class1,in_class2等,其中in_class1索引一级分类ID,和二级分类Class1 ,Class2索引二级分类ID
问题:点击二级分类时不能只显示一级分类对应的二级分类,而出现所有二级分类,点击一级分类后可以只显示对应的二级分类
目的:实现点击二级分类时只显示一级分类对应的二级分类,谢谢!
因字节限制,省略了前后
<%
set rsb=server.createobject("adodb.recordset")
sql = "select * from jle_class1 order by Class1Sort asc"
rsb.open sql,conn,1,1
if rsb.eof and rsb.bof then
response.write "请先添加栏目。"
response.end
else
%>
</font>
<SELECT name="Class1Name" onChange="changelocation(document.myform.Class1Name.options[document.myform.Class1Name.selectedIndex].value)" size="1">
<%do while not rsb.eof
dim selclass
selclass=trim(rsb("id"))
%>
<OPTION value="<%=trim(rsb("id"))%>" <%if rs("IN_Class1")=trim(rsb("id")) then %>selected<% end if %>><%=trim(mid(rsb("Class1Name"),1,4))%></OPTION>
<%
rsb.movenext
loop
end if
rsb.close
%></SELECT>
<SELECT name="Class2Name" >
<OPTION value="" selected>二级分类</OPTION>
<%
set rsss=server.createobject("adodb.recordset")
sqlss = "select * from jle_class2 order by Class1 asc"
rsss.open sqlss,conn,1,1
if rsss.eof and rsss.bof then
response.write "请先添加栏目。"
response.end
else
%>
<%do while not rsss.eof
xlid=trim(rsss("id"))
%>
<OPTION value="<%=trim(rsss("id"))%>" <%if rs("IN_Class2")=trim(rsss("id")) then %>selected<% end if %>><%=trim(rsss("Class2Name"))%></OPTION>
<%
rsss.movenext
loop
end if
rsss.close
%>
</SELECT>
详细代码在:http://bbs.zhanzhang.baidu.com/thread-23301-1-1.html 展开
一级分类目录表 jle_class1 字段有 id,class1name,Class1Sort
二级分类目录表 jle_class2字段有 id,class2name,Class1 ,Class2Sort,其中Class1索引一级分类ID
信息文章表 jle_info 字段有id,in_class1,in_class2等,其中in_class1索引一级分类ID,和二级分类Class1 ,Class2索引二级分类ID
问题:点击二级分类时不能只显示一级分类对应的二级分类,而出现所有二级分类,点击一级分类后可以只显示对应的二级分类
目的:实现点击二级分类时只显示一级分类对应的二级分类,谢谢!
因字节限制,省略了前后
<%
set rsb=server.createobject("adodb.recordset")
sql = "select * from jle_class1 order by Class1Sort asc"
rsb.open sql,conn,1,1
if rsb.eof and rsb.bof then
response.write "请先添加栏目。"
response.end
else
%>
</font>
<SELECT name="Class1Name" onChange="changelocation(document.myform.Class1Name.options[document.myform.Class1Name.selectedIndex].value)" size="1">
<%do while not rsb.eof
dim selclass
selclass=trim(rsb("id"))
%>
<OPTION value="<%=trim(rsb("id"))%>" <%if rs("IN_Class1")=trim(rsb("id")) then %>selected<% end if %>><%=trim(mid(rsb("Class1Name"),1,4))%></OPTION>
<%
rsb.movenext
loop
end if
rsb.close
%></SELECT>
<SELECT name="Class2Name" >
<OPTION value="" selected>二级分类</OPTION>
<%
set rsss=server.createobject("adodb.recordset")
sqlss = "select * from jle_class2 order by Class1 asc"
rsss.open sqlss,conn,1,1
if rsss.eof and rsss.bof then
response.write "请先添加栏目。"
response.end
else
%>
<%do while not rsss.eof
xlid=trim(rsss("id"))
%>
<OPTION value="<%=trim(rsss("id"))%>" <%if rs("IN_Class2")=trim(rsss("id")) then %>selected<% end if %>><%=trim(rsss("Class2Name"))%></OPTION>
<%
rsss.movenext
loop
end if
rsss.close
%>
</SELECT>
详细代码在:http://bbs.zhanzhang.baidu.com/thread-23301-1-1.html 展开
1个回答
展开全部
1、这个是你程序设计的问题,本来一级分类没出来之前是不应该显示二级分类的,而是一个空的下拉,不让选择的
2、解决办法就是你吧二级的代码先剪切掉,然后通过一级代码的onchange()方法触发,使用ajax异步来获取二级分类数据
<section name="class1" id="c1" onchange="changec2">...</section>
<section name="class1" id="c2"></section>
js
function changec2(){
var c1 = $("#c1 option:selected").val();//获取选中的值
$.post(
"/getdata.asp",
c1:c1,
function(result){
$("c2").append(result);//这里result返回来的数据应该是<option val="xxx"> ...</option><option>....的格式
}
);
}
2、解决办法就是你吧二级的代码先剪切掉,然后通过一级代码的onchange()方法触发,使用ajax异步来获取二级分类数据
<section name="class1" id="c1" onchange="changec2">...</section>
<section name="class1" id="c2"></section>
js
function changec2(){
var c1 = $("#c1 option:selected").val();//获取选中的值
$.post(
"/getdata.asp",
c1:c1,
function(result){
$("c2").append(result);//这里result返回来的数据应该是<option val="xxx"> ...</option><option>....的格式
}
);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询