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的代码了,具体就看自己的需要了。
唉~不吐不快啊,终于舒坦了,嘿嘿。