2015-12-02 96 views
0

我有這樣的HTML代碼,一個新的頁面,在這裏我有一些鏈接:加載基於下拉選擇

<select name="menu1" id="menu1"> 
    <option value="http://www.espn.com">ESPN</option> 
    <option value="http://www.cnn.com">CNN</option> 
    <option value="http://www.abcnews.com">ABC</option> 
    <option value="http://www.cbsnews.com">CBS</option> 
    <option value="http://www.foxnews.com">FOX</option> 
</select> 

和這個JavaScript:

var urlmenu = document.getElementById('menu1'); 
urlmenu.onchange = function() { 
    window.open(this.options[ this.selectedIndex ].value); 
}; 

我想鏈接到同一頁面上打開,但他們目前在新窗口中打開。我怎樣才能讓他們在同一頁面上打開?

+0

什麼是'[1]'在''? – CoderPi

+0

[使用JavaScript在新標籤(而不是新窗口)中打開URL]的可能重複(http://stackoverflow.com/questions/4907843/open-a-url-in-a-new-tab-and -not-a-new-window-using-javascript) – jiaweizhang

+0

我對你的文章做了一些修改,試圖讓問題陳述更加清晰。提供幫助人們回答的信息是很好的,但要確保問題的相關性和必要性。你也說在同一頁上打開,你的意思是當前選項卡還是當前窗口中的新選項卡?你想要什麼*完全不清楚,但上面的鏈接可能有幫助。 – SuperBiasedMan

回答

0

open()總是會打開一個新窗口(或一個新標籤頁,具體取決於您的瀏覽器)。

相反,設置當前窗口的location

urlmenu.onchange = function() { 
    window.location.href = this.options.value; 
}; 

(請注意,您不再需要找到通過options[selectedIndex]的價值 - <select>元素的value本身會做)

var urlmenu = document.getElementById('menu1'); 
 

 
urlmenu.onchange = function() { 
 
    document.location.href = this.value; 
 
};
<select name="menu1" id="menu1"> 
 
    <option>Choose:</option> 
 
    <option value="http://www.espn.com">ESPN</option> 
 
    <option value="http://www.cnn.com">CNN</option> 
 
    <option value="http://www.abcnews.com">ABC</option> 
 
    <option value="http://www.cbsnews.com">CBS</option> 
 
    <option value="http://www.foxnews.com">FOX</option> 
 
</select>

0

您可以使用window.location = "http://www.example.com"去到另一條鏈路(info

<script type="text/javascript"> 
var urlmenu = document.getElementById('menu1'); 
urlmenu.onchange = function() { 
    window.location = this.options[this.selectedIndex].value; 
}; 
</script> 

DEMO:

<html> 
 

 
<head> 
 
</head> 
 

 
<body> 
 
    <select name="menu1" id="menu1"> 
 
    <option value="http://www.espn.com" [1]>ESPN</option> 
 
    <option value="http://www.cnn.com">CNN</option> 
 
    <option value="http://www.abcnews.com">ABC</option> 
 
    <option value="http://www.cbsnews.com">CBS</option> 
 
    <option value="http://www.foxnews.com">FOX</option> 
 
    </select> 
 
    <script type="text/javascript"> 
 
    var urlmenu = document.getElementById('menu1'); 
 
    urlmenu.onchange = function() { 
 
     window.location = this.options[this.selectedIndex].value; 
 
    }; 
 
    </script> 
 
</body> 
 

 
</html>

0

據W3:window.open() - 打開一個新的窗口; window.location.assign()方法加載一個新文檔。因此使用window.location.assign()Example