我的博客| Blog
- ·微信小程序错误:VM564:...
- ·mongodb3.2设置密码...
- ·单行滚动代码-单行滚动效果
- ·自己动手制作图形字体,以便于...
- ·MySQL无限级分类PHP按...
- ·Windows下的Apach...
- ·如何将网站上的文章分享到微信...
- ·PHP实现自动获取本月第几个...
联系我| Contact Me
- 电话:18681257080
- QQ:271538869
- 邮编:518020
- 信箱:service@08321.org
- 地址:四川省内江市资中县
诚信稳健,和谐共赢
- 以诚信为立世之本,在稳健的基础上,不断寻求创新与突破。
- 以务实严谨、精微细致的专业精神,为客户做最优质的策划,实现效果最大化。
成功,依稀可见
- 成功,依稀可见!——依希设计
- 成功是很多方面的,很多小的成功可以积累成大的成功,而真正意义上的成功是永远不可能到达的,所以只能依稀可见。
我的博客
二级分类,二级联动技巧
来源:本站编辑 发布日期:2009-8-31 已有 人浏览过此信息
好久没来写东西了,实在无聊,发一个二级联动的网页技巧。
许多企业网站都会要求建立二级分类,即在产品分类下边还要再分细,所以添加产品的时候就会有二级联动的问题,虽然代码不多,但是极易出错,笔者今天晚上再次使用次技巧的时候也遇到了很多麻烦事儿。先看代码再谈容易出的问题。
<script language="javascript">
<!--
var typeall=new Array();
<%
'取出二级分类数据
set c2=conn.execute("select id,class2,class1id from class_2 order by id asc")
i=0
do while not c2.eof
%>
typeall[<%=i%>]=new Array("<%=c2(0)%>","<%=c2(1)%>","<%=c2(2)%>"); //容易出问题的地方①
<%
c2.movenext
i=i+1
loop
c2.close:set c2=nothing
%>
function changesort(sid)
{
document.all.myform.typeid.options.length=1;//容易出错的地方②
for (j=0;j<<%=i%>;j++)
{
if (typeall[j][2]==sid)
{
document.all.myform.typeid.add(new Option(typeall[j][1],typeall[j][0]));//容易出错的地方③
}
}
}
-->
</script>
<form name="myform" action="" method="post">
<select name="sortid" size="1" onchange="javascript:changesort(this.options[this.selectedIndex].value);"><!--容易出错的地方④-->
<option value="0">=请选择产品分类=</option>
<%
set rs=conn.execute("select id,classname from class_1 where sortname='产品展示' order by id asc")
do while not rs.eof
response.write("<option value='"&rs(0)&"'>"&rs(1)&"</option>")
rs.movenext
loop
rs.close:set rs=nothing
%>
</select>
<select name="typeid" size="1">
<option value="0">=请选择二级分类=</option>
</select>
</form>
①处比较容易出现--缺少";"--的JS错误;解决办法是认真检察代码,不要出现错误的定义。
②处容易出现找不到对像的JS错误;解决办法是可以设置ID,然后用 document.getElementById(id);也可以用IE支持比较好的 document.all.form名.控件名.options.length 来解决。
③处是用JS为选择框加新的选项,容易出错。
④获取当前选择项的value值,笔者以前都用绝对对像描述,但后来发现用 this也可以,呵呵~
许多企业网站都会要求建立二级分类,即在产品分类下边还要再分细,所以添加产品的时候就会有二级联动的问题,虽然代码不多,但是极易出错,笔者今天晚上再次使用次技巧的时候也遇到了很多麻烦事儿。先看代码再谈容易出的问题。
<script language="javascript">
<!--
var typeall=new Array();
<%
'取出二级分类数据
set c2=conn.execute("select id,class2,class1id from class_2 order by id asc")
i=0
do while not c2.eof
%>
typeall[<%=i%>]=new Array("<%=c2(0)%>","<%=c2(1)%>","<%=c2(2)%>"); //容易出问题的地方①
<%
c2.movenext
i=i+1
loop
c2.close:set c2=nothing
%>
function changesort(sid)
{
document.all.myform.typeid.options.length=1;//容易出错的地方②
for (j=0;j<<%=i%>;j++)
{
if (typeall[j][2]==sid)
{
document.all.myform.typeid.add(new Option(typeall[j][1],typeall[j][0]));//容易出错的地方③
}
}
}
-->
</script>
<form name="myform" action="" method="post">
<select name="sortid" size="1" onchange="javascript:changesort(this.options[this.selectedIndex].value);"><!--容易出错的地方④-->
<option value="0">=请选择产品分类=</option>
<%
set rs=conn.execute("select id,classname from class_1 where sortname='产品展示' order by id asc")
do while not rs.eof
response.write("<option value='"&rs(0)&"'>"&rs(1)&"</option>")
rs.movenext
loop
rs.close:set rs=nothing
%>
</select>
<select name="typeid" size="1">
<option value="0">=请选择二级分类=</option>
</select>
</form>
①处比较容易出现--缺少";"--的JS错误;解决办法是认真检察代码,不要出现错误的定义。
②处容易出现找不到对像的JS错误;解决办法是可以设置ID,然后用 document.getElementById(id);也可以用IE支持比较好的 document.all.form名.控件名.options.length 来解决。
③处是用JS为选择框加新的选项,容易出错。
④获取当前选择项的value值,笔者以前都用绝对对像描述,但后来发现用 this也可以,呵呵~
上一条:利用JS在本页加载新窗口(二)
下一条:解密网页图片随机变化