2015-12-02 147 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