在ASP中怎么动态显示下拉式二级菜单

在ASP中怎么动态显示下拉式二级菜单,第1张

总体要求是这样的吧:选择big的下拉菜单后,从数据库获得所选择大项内的二级选项,更新到二级下拉菜单中

一级菜单没得说,直接数据库读取

二级菜单就可以用两种方法实现,

1、先预读出所有二级选项及对应一级选项的classname,待选择一级菜单后利用js更换二级菜单的选项

2、选择一级菜单后,再从数据库读取二级菜单选项,更新到二级菜单,可以隐含一个页面作为刷新,这种办法比较繁琐些

<script language=javascript>

//最先从数据库读取所有选项值

//allSel数组形如:((北京,中关村,国贸,天安门,),(上海,黄埔,))

//(北京,中关村,国贸,天安门,)---->第一个为一级选项,后面为二级选项

var allSel=new Array();//储存所有一级、二级选项,定义成全局变量

var tmpSel=new Array();//临时选项 allSeladd(tmpSel) allSel 是数组的数组,即二维数组

<%

dim bNew

rsopen "select from big,small where bigbigclassName=smallbigclassname order by bigbigclassname",1,3,conn

bNew=rs("bigbigclassname")

responsewrite "tmpSel=new Array();"

responsewrite "tmpSeladd('" & rs("bigbigclassname") & "');"

do while not rseof

if bNew<>rs("bigbigclassname") then '新城市

responsewrite "allSeladd(tmpSel);"

responsewrite "tmpSel=new Array();"

responsewrite "tmpSeladd(" & rs("bigbigclassname") & ")"

end if

rsponsewrite "tmpSeladd('" & rs("smallsmallclassname") & "');" ‘加入二级菜单

rsmovenext

loop

rsclose

%>

</script>

一级菜单:<select id=bigsel onchange=sel_chg(this)>

<%

rsopen "select from big",conn,1,3

do while not rseof

responsewrite "<option value=" & rs("id") & ">" & rs("bigclassname") & "</option>"

rsmovenext

loop

rsclose

%>

</select>

二级菜单<select id=ssel><option value=-1>请选择</option></select>

js实现更新二级菜单

<script language=javascript>

function chgOption(op_arr){ //根据参数修改下拉菜单选项

var vOptions,iii;

var obj=documentallssel; //二级菜单obj

for(iii=0;iii<objlength-1;iii++)objoptionsremove(0);//移除原二级菜单选项

for(iii=1;iii<op_arrlength;i++) { //iii=1

vOptions=documentcreateElement("option");

vOptionsvalue=iii;

vOptionstext=op_arr[iii];

objoptionsadd(vOptions);

}

}

function sel_chg(obj){ //一级菜单选择后发起替换二级菜单

//获知是哪个选项被选中

var selIdx=objselectedIndex;

//根据之前的allSel替换二级菜单

chgOption(allSel[selIdx]);//注意这里调用allSel[selIdx]

}

</script>

US OK--> 谁有PHP+JS的三级联动菜单啊~急用~~可以连接MYSQL数据库的_百度知道 var IKFromImport=false; | | G("log_in")src=" >

/可以组成一一些命令,一般是一种总体命令(session),三十也有特殊,比如是处理/POST1

! 是注释说明符号,,与其他软件的说明是一样的,ansys不作为命令读取,

此符号一般是APDL的标识符,也就是ansys的参数化语言,如do ,,,enddo等等

当然上面的都是首字符出现时

我们博客的设计是全站顶部菜单为通用菜单,调用的数据为文章的分类,那么如何将文章分类数据传递到每个页面的上下文呢?

为了将新变量自动注入模板的上下文中,Flask 中存在上下文处理器context_processor。上下文处理器在呈现模板之前运行,并且能够将新值注入模板上下文。上下文处理器是返回字典的函数。然后,对于应用程序中的所有模板,此字典的键和值将与模板上下文合并:

用法如下所示,这只是一个例子:

上面的上下文处理器是一个名为 user 的变量在模板中可用,其值为 guser。这个例子不是很有趣,因为g无论如何都可以在模板中使用,但它给出了它是如何工作的。

变量不限于值;上下文处理器还可以使函数可用于模板(因为Python允许传递函数):

上面的上下文处理器使format_price函数可用于所有模板:

您还可以将format_price构建为模板筛选器,但这演示了如何在上下文处理器中传递函数。

知道了上下文处理器的用法,实现这个功能就非常简单了!

在RealProject目录的__init__py中插入如下一个上下文回调函数

这个函数通过limit()方法查询出前6个数据,并通过一个字典返回,之后我们还需要将该回调函数注册到app的工厂函数当中!

在app/blog/templates/basehtml中循环查出我们返回的数据即可

在app/blog/viewspy文件中的index首页视图函数中实现

这个视图函数中的查询逻辑在实现文章管理的时候已经实现过,这里唯一不同的区别就是我给这个返回数据新增了一个img的属性,因为在数据库我们没有设计文章形象图字段,我们用这种方式弥补,在imgs的列表中预设一些的url地址,之后随机抽取一个赋值给img属性,这样在模板中直接调用这个img属性就会获取到的url!

在app/blog/templates/basehtml中替换相关循环数据

以上就是关于在ASP中怎么动态显示下拉式二级菜单全部的内容,包括:在ASP中怎么动态显示下拉式二级菜单、js+数据库生成三级动态tree导航菜单、通过Ajax从数据库查询的导航栏,请问怎么连接到相应的页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9836967.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存