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的代碼了,具體就看自己的需要了。
唉~不吐不快啊,終於舒坦了,嘿嘿。