| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:一个二级联动的怪问题?请求大家研究
只看楼主 加入收藏
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
结帖率:50%
收藏
 问题点数:0 回复次数:12 
一个二级联动的怪问题?请求大家研究
前段时间做了个二级的菜单联动,联动条件 表A的 categoryid = 表B的 categoryid ;现在我将表A 的categoryid由数字型改为 文本型,联动条件改成 表A的 categoryid like '% " & 表B的 categoryid &"%' 后就不能联动了,是否做联动的 条件 不能使用 like 这种方式?
小弟在线期待大家的指点。
搜索更多相关主题的帖子: 请求 研究 
2007-11-05 18:10
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 

具体现象是什么?

还有,第一个%后面是不是多了一个空格


从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-05 18:37
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 
具体现象就是 ,二级类别栏目为空白,即使选择了一级大类,也是空白的。
注明:数据库中存在一级大类的从属二级子类的。

生活的理想,就是为了理想的生活。
2007-11-05 20:40
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 

补充以下代码给大家研究
<%
'从小类表中取出数据
set rs=server.CreateObject("adodb.recordset")
sql="select * from b2b_parductppp "
rs.open sql,conn,1,1
%>
<script language="JavaScript">
var num;
//定义数组
var calArray=new Array();
<%
dim j
j=0
do while not rs.eof
%>
//将小类表中的所有相关记录存到数组calArray的对应元素中,红色加粗值类型为文本型
calArray[<%=j%>]=new Array("<%=rs("MarkID")%>","<%=rs("MarkName")%>","<%=rs("category")%>");
<%
j=j+1
rs.movenext
loop
rs.close
set rs=nothing
%>
//给num赋值为记录总数
num=<%=j%>
function givevalue(myvalue){
/*当选择大类列表的值不为空时首先清空小类下拉列表的所有项目。不然小类列表中的项目会叠加的。
同时也是初始化 options 的值为0 */
document.myform.SelectMark.length = 0;
//循环写出请求的大类所对应的小类。
for (i=0;i < num; i++)
{
if (calArray[i][2] == myvalue)
{
document.myform.SelectMark.options[document.myform.SelectMark.length] = new Option(calArray[i][1], calArray[i][0],"","");
/*定义新的Option对象并赋值。options的索引值从0开始。new Option对象有4个属性,对应分别是:文本串、value、defaultSelect、selected。在这里只用了第一个和第二个。*/
}
}
}
</script>
---------------------------------------------------------------------------------------------------------
大类选择列表框
<select name="categoryid" onChange="givevalue(document.myform.categoryid.options[document.myform.categoryid.selectedIndex].value)">
<option value="0">---选择类别---</option>
<%
sort(0)
dim ii
ii=0
dim firstid
sub sort(selec)
sql="select * from category where ParentID = "&selec&" order by categoryorder"
Set Rs1=Conn.Execute(sql)
if rs1.eof or rs1.bof then
noclass=1
else
rs1.movefirst
firstid=rs1("categoryid")
do while not rs1.eof
if selec=0 then

%>
<option value="<%=int(rs1("categoryid"))%>"><%=rs1("category")%></option>
<%
else
%>
<option value="<%=int(rs1("categoryid"))%>"><%=string(ii*2," ")%><%=rs1("category")%></option>
<%
end if

ii=ii+1
sort rs1("categoryid")
ii=ii-1
rs1.movenext
loop
rs1.close
Set Rs1 = Nothing
end if
end sub

%>
</select>
-----------------------------------------------------------------------------------------------------------
小类关联列表框
<select name="SelectMark" >
<%if noclass=1 then%>
<option value="" selected>暂无品牌</option>
<%
else
'在没有选择大类(页面刚载入)时要载入的小类,要跟默认的大类对应。
set rs=server.CreateObject("adodb.recordset")
sql="select * from b2b_parductppp where category like '%"&firstid&"%' "
rs.open sql,conn,1,1
if rs.eof or rs.bof then
%>
<option value="" selected>暂无品牌</option>
<%
else
do while not rs.eof
%>
<option value="<%=rs("MarkID")%>"><%=trim(rs("MarkName"))%></option>
<%
rs.movenext
loop
end if
rs.close
set rs=nothing
end if
%>
</select>
----------------------------------------------------------------------------------------------------------

firstid 为 一级大类的联动关键值
无论这样sql="select * from b2b_parductppp where category like '%'"&firstid&"'%' "
还是这样sql="select * from b2b_parductppp where category like '%"&firstid&"%' "


生活的理想,就是为了理想的生活。
2007-11-05 20:53
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
为什么使用模糊查询呢?连动应该都是唯一值的吧,如果使用模糊查询做连动,很可能会起冲突的

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-05 22:46
kira007
Rank: 2
等 级:论坛游民
帖 子:294
专家分:27
注 册:2007-6-28
收藏
得分:0 

因为 它 拥有多重属性的关系,不能用唯一值来联动。


生活的理想,就是为了理想的生活。
2007-11-05 22:57
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
'在没有选择大类(页面刚载入)时要载入的小类,要跟默认的大类对应。
set rs=server.CreateObject("adodb.recordset")
sql="select * from b2b_parductppp where category like '%"&firstid&"%' "
rs.open sql,conn,1,1


这段默认值有没有载入呢

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-11-06 08:17
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
个人认为二级联动列表框最好主要用Javascript来完成。
2007-11-06 09:04
hmhz
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:30
帖 子:1890
专家分:503
注 册:2006-12-17
收藏
得分:0 
使用Ajax无刷新做联动菜单最好的

[编程论坛] ASP超级群:49158383  敲门暗号:ASP编程
龍艺博客 http://www.
2007-11-06 10:16
放任一切
Rank: 2
等 级:新手上路
威 望:4
帖 子:217
专家分:0
注 册:2007-3-22
收藏
得分:0 

这里是一个四级联动的例子,个人感觉不错
改成二级或多级的也很方便。
可以参考一下!

miUZVajP.rar (1.25 KB) 一个二级联动的怪问题?请求大家研究


2007-11-06 10:24
快速回复:一个二级联动的怪问题?请求大家研究
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026939 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved