2004.10.30凌晨发表于blog.csdn.net/zxub

  在实际设计中,我们常常要用到跳转菜单,跳转后,页面会刷新一下,此时,我们需要让跳转菜单显示我们刚才选择的那一项。试过许多方法后,我感觉用“MenuObj.selectedIndex=”实现是最直接的,这里,需要在页面间传递变量,我试了下,总是没传过去,不知道哪里出错了,好郁闷。
  突然,想到动态网页的地址,形如aaa=bbb&ccc=ddd,那html页面加上这么些东西会怎么样呢?试了下,和原来一样的。好,可以在地址栏放参数了,用个document.location地址就下来了,再在取到的地址栏字符串中截取到我们要的那个参数,这下“MenuObj.selectedIndex=”可以用了。
  正好,在做这么一个页面,就把上面想到的丢到页面里去,代码如下:
  <script language="JavaScript" type="text/JavaScript">
        function SetSelectedIndex(obj)      //obj代表跳转菜单了
       {
          var SelectedIndex;
          var URL=document.location;   
          var SerachTagLocation=null;
          var URLString="\""+URL+"\"";  //不加"的话,会说对象不支持此方法,没办法,就加了
          SerachTagLocation=URLString.indexOf("typeid\=");
         if (SerachTagLocation!=-1)
         {
             var SelectTypeid=URLString.substr(SerachTagLocation+7,1)    //上面找到的是t的位置,要转一下
             var OptString="\""+obj.options[1].value+"\"";           //下面的四行是针对我的需要写的
            var OptSerachTagLocation=OptString.indexOf("=");
            var OptTypeid=OptString.substr(OptSerachTagLocation+1,1)
            SelectedIndex=SelectTypeid-(OptTypeid-1);
         }
          else SelectedIndex=0;
        obj.selectedIndex=SelectedIndex;     //这下可以定位了
         }
        </script>
        只要在跳转菜单后面运行一下上面的函数,就可以实现定位了,当然了,跳转后地址要加上一串行如aaa=bbb的代码了,具体就看自己的需要了。 
         唉~不吐不快啊,终于舒坦了,嘿嘿。

 posted on 2005-06-13 20:55  往事如风  阅读(3712)  评论(0编辑  收藏  举报