我正在尝试制作一个下拉菜单,将我带到各种网页。现在它被设置为你做出选择,然后你点击“开始”按钮,然后它会带你到相应的链接。我正在试图弄清楚如何制作它,当你做出选择它会自动进行而你不需要按下“开始”按钮。
这就是我所拥有的:
<p align="center">
<form name="jump" class="center">
<select name="menu">
<option value="#">Select an option</option>
<option value="/link1.shtml">Link 1</option>
<option value="/link2.shtml">Link 2</option>
<option value="/link3.shtml">Link 3</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
</p>
任何帮助或解释链接都会很棒。谢谢!
答案 0 :(得分:32)
尝试以下方法:
<select onchange="location = this.options[this.selectedIndex].value;">
<option>Please select</option>
<option value="http://www.apple.com/">Apple</option>
<option value="http://www.bbc.com">BBC</option>
<option value="http://www.facebook.com">Facebook</option>
</select>
你要找的是'onchange'而不是'onsumbit'
答案 1 :(得分:2)
<script>
$('select.menu').change(function(e){
// this function runs when a user selects an option from a <select> element
window.location.href = $("select.menu option:selected").attr('value');
});
</script>
答案 2 :(得分:1)
这样的事情可能有所帮助 - 基本上你只需将onChange事件绑定到select,这样当选择一个新选项时,它会将位置转发到页面。
<p align="center">
<form name="jump" class="center">
<select name="menu" onchange="gotoPage(this)">
<option value="#">Select an option</option>
<option value="/link1.shtml">Link 1</option>
<option value="/link2.shtml">Link 2</option>
<option value="/link3.shtml">Link 3</option>
</select>
<input type="button" onClick="location=document.jump.menu.options[document.jump.menu.selectedIndex].value;" value="GO">
</form>
</p>
<script type="text/javascript">
function gotoPage(select){
window.location = select.value;
}
</script>
答案 3 :(得分:1)
我建议你开始使用javascript框架jQuery,因为它真的会让你的生活变得更加轻松。
当您在网页中安装并设置了jQuery时,您应该可以执行以下操作:
<script type="text/javascript">
$(document).ready(function() {
$("#selection").change(function() {
location = $("#selection option:selected").val();
});
});
</script>
<p align="center">
<form name="jump" class="center">
<select name="menu" id="selection>
<option value="#">Select an option</option>
<option value="/link1.shtml">Link 1</option>
<option value="/link2.shtml">Link 2</option>
<option value="/link3.shtml">Link 3</option>
</select>
</form>
</p>
答案 4 :(得分:0)
这里的聚会显然已经很晚了,但是因为我试图想出同样的事情并且能够,我会在这里发布。
其他答案是您在更改选择元素选项时加载链接,但在进行选择后,您最初要求使用按钮执行此操作。这对我有用:
<script type="text/javascript">
$(document).ready(function() {
var newUrl = "";
$("#picksite").change(function() {
$newUrl = $("#picksite option:selected").val();
});
$("#executelink").click(function() {
location = $newUrl ;
});
});
</script>
<select id="picksite">
<option value="">Pick A Website</option>
<option value="http://google.com">Google</option>
<option value="http://facebook.com">Facebook</option>
<option value="http://twitter.com">Twitter</option>
<option value="http://gmail.com">Gmail</option>
</select>
<button id="executelink">Go To Site</button>