2009-09-18 72 views
5

什麼是通過HTML來改變你的URL選擇最好的方法是什麼?更改URL選擇

<select> 
<option selected="selected">Change to URL X</option> 
<option>Change to URL Y</option> 
</select> 

應該使用什麼樣的Javascript?

+0

[http://www.cs.tut.fi/~jkorpela/forms/navmenu.html](http://www.cs.tut.fi /~jkorpela/forms/navmenu.html)有一個很好的指導(其中包括爲什麼你不應該這樣做的一些很好的理由)。 – Quentin 2009-09-18 15:32:51

回答

-3

添加例如類似的東西在頭

<script language="JavaScript" type="text/javascript"> 
function jumpMenu(targ,selObj,restore){ 
    eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 
} 
</script> 

和您的選擇框看起來那麼像這樣

<select onchange="jumpMenu('parent',this)> 
<option selected="selected">Change to URL X</option> 
<option value="http://www.example.com">Change to URL Y</option> 
</select> 
+3

-1。不要使用'eval()'。這裏沒有必要,這是非常糟糕的做法。 http://blogs.msdn.com/ericlippert/archive/2003/11/01/53329.aspx ... http://www.jslint.com/lint.html和其他 – 2009-09-18 18:58:21

6
<script type="text/javascript"> 
function navigateTo(sel, target, newWindow) { 
    var url = sel.options[sel.selectedIndex].value; 
    if (newWindow) { 
     window.open(url, target, '--- attributes here, see below ---'); 
    } else { 
     window[target].location.href = url; 
    } 
} 
</script> 

<select onchange="navigateTo(this, 'window', false);"> 
<option selected="selected" value="http://www.example.com/#X">Change to URL X</option> 
<option value="http://www.example.com/#Y">Change to URL Y</option> 
</select> 

target一些有用的值可能是'window'(當前窗口)或'top'(打破框架集或iframe)。如果你想打開一個新的窗口,而不是,你可以使用navigateTo(this, 'someWindow', true);

值「---屬性---」使用各種屬性作爲記錄here for Mozillahere for IE設置。例如:

'height=300,width=400,top=100,left=100,statusbar=0,toolbar=1' 
+0

非常好!以上代碼工作順利。 – 2013-04-14 00:03:17

5

如果您有jQuery的你可以做...

的javascript:

$( '#select_url')變化(函數(EVNT){location.href = $ (this).val();});

HTML:

...