asp.net中的联动菜单

原创 2004年09月15日 10:41:00

目标达到的效果:两个下拉框,第二个跟随第一个变化而变化,使用客户端脚本JavaScriptASP.NET环境下实现。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

第一步:建立JavaScript脚本:

Page_Load中建立并注册这个js脚本:

 

string scriptKey = "MenuChange";

if (!Page.IsStartupScriptRegistered(scriptKey) &&  !Page.IsPostBack)

{

       string scriptBlock =

              @"<script language=""JavaScript"">

                <!--

                       function InitBigClass()

                       {

                              bigclass  = new Array();

                              bigclass[0]  = new Array();

                              bigclass[0][0]  = '0';

                              bigclass[0][1]  = '全部论坛';

 

                              bigclass[1]  = new Array();

                              bigclass[1][0]  = '3';

                              bigclass[1][1]  = 'Web 开发';

 

                              bigclass[2]  = new Array();

                              bigclass[2][0]  = '4';

                              bigclass[2][1]  = '软件工程/管理';

 

                       }

 

                     function InitSmallClass()

                     {

                            smallclass  = new Array();

 

                            smallclass[0]  = new Array();

                            smallclass[0][0]  = '301';

                            smallclass[0][1]  = 'ASP';

                            smallclass[0][2]  = '3';         // 此处与上面的大类对应

 

                            smallclass[1]  = new Array();

                            smallclass[1][0]  = '303';

                            smallclass[1][1]  = 'PHP';

                            smallclass[1][2]  = '3';

 

                            smallclass[2]  = new Array();

                            smallclass[2][0]  = '401';

                            smallclass[2][1]  = '软件工程';

                            smallclass[2][2]  = '4';

 

                            smallclass[3]  = new Array();

                            smallclass[3][0]  = '403';

                            smallclass[3][1]  = '软件测试';

                            smallclass[3][2]  = '4';

                     }

 

                     InitBigClass();

                     InitSmallClass();

 

                     function changeitem(myfrm)               // 主要js的函数!!!

                     {     

                            var SelectedBigId,i,j;

                            for (i= myfrm.smallclassid.options.length-1;i>=0  ;--i)     

                            {

                                   myfrm.smallclassid.options[i] = null;

                            }

              SelectedBigId = myfrm.bigclassid.options[myfrm.bigclassid.selectedIndex].value;

                            j = 0;      

                            for (i=0 ;i< smallclass.length ;i++)     

                            {

                                   if (SelectedBigId == smallclass[i][2])

                                   {

                     myfrm.smallclassid.options[j] = new Option(smallclass[i][1],smallclass[i][0]);

                                          ++j;

                                   }

                            }

                     }

 

              //-->

              </script> ";

 

       Page.RegisterClientScriptBlock(scriptKey, scriptBlock);      // 注册这个脚本

}

 

第二步:在页面中加入两个<select>

<select id="bigclassid" onchange="javascript:changeitem(document.Form1);" name= "bigclassid"> (FormidForm1)

<option value="0" selected>全部论坛</option>

</select>

<select id="smallclassid" name="smallclassid">

<option>请您选择</option>

</select>

注意selectidname属性要与上面的js相一致。

 

第三步:在Button_OnClick()中加入代码

int i;

for(i=0;i<Request.Form.Count;i++)

       if(Request.Form.AllKeys[i].ToString()=="smallclassid")

              break;                          // form中找到这个select (根据id或者name查找)

int SelectValue = Request.Form.GetValues(i)[0];   // 这个值就是select选中的值

asp.net中的联动菜单

目标达到的效果:两个下拉框,第二个跟随第一个变化而变化,使用客户端脚本JavaScript在ASP.NET环境下实现。 第一步:建立JavaScript脚本:在Page_Load中建立并注册这个js脚...
  • wangmj518
  • wangmj518
  • 2007年05月13日 10:56
  • 854

★ asp.net中的联动菜单

...
  • shibs
  • shibs
  • 2007年05月01日 16:57
  • 577

【phpcms-v9】phpcms-v9中联动菜单的调用

/********************************** * 通过id获取显示联动菜单的 顶级父类的名称 * @param  $linkageid 联动菜单ID * @param ...
  • yanhui_wei
  • yanhui_wei
  • 2012年12月05日 15:39
  • 4131

微信小程序开发— 菜单内容左右联动 & MD5加密

小程序无法获取元素的宽高,位置信息,只能通过后台计算,但是存在较大的机器误差,不知有啥好的解决方案?...
  • qq_38125123
  • qq_38125123
  • 2017年08月18日 09:40
  • 842

用js实现菜单的联动选择

看如下例子:先导入两个js文件:看调用的例子:                                   工作类型                               ...
  • Explorerwen
  • Explorerwen
  • 2005年02月23日 13:53
  • 30508

phpcms v9联动菜单前台列表调用

{php $area_linkage = getcache(3367,'linkage'); $area_data = $area_linkage[data];} {loop $area_data...
  • vailook
  • vailook
  • 2016年11月09日 17:22
  • 2330

JS之联动菜单简单实例

初学JS的时候,跟着燕十八老师一起做的JS实现联动菜单功能。 联动菜单 var area = [ ['朝阳', '海淀', '自定义'], ['请选择', '长治',...
  • xiao_tommy
  • xiao_tommy
  • 2016年11月16日 10:44
  • 452

JQuery和ASP.NET分别实现级联下拉框效果

在学习Javascript之前知道下拉框的级联效果
  • wangyajin333
  • wangyajin333
  • 2014年07月03日 10:13
  • 3561

Android——Android实现多级菜单联动操作

感觉好久没有写博客了,这段时间工作很忙,只有晚上才有时间写,demo做出来后马上动手分享给大家了,其实这几天还是很累的,这身体吃不消了【大哭】。。。额!好了,今天是分享一个android实现三级菜单联...
  • u013836857
  • u013836857
  • 2016年05月26日 21:42
  • 10185

ASP.NET——实现两个下拉框动态联动

这样的动态联动,一般由多个下拉框组成一组菜单,比如上面用到的两个下拉框。下拉菜单之间有联动的关系。当上级的选中项发生改变时,下级会根据上级中的选中项显示相应的内容。 用了动态联动之后,当面...
  • u010066934
  • u010066934
  • 2014年08月11日 16:10
  • 6478
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net中的联动菜单
举报原因:
原因补充:

(最多只允许输入30个字)