21

JavaScript 新手寻求帮助。我有一个带有 5 个选项的选择下拉列表。选项1 选项2 选项3 选项4 选项5'

如果选择了除选项 1 之外的任何选项(应该是页面加载时的默认选项),我需要将表单重定向到另一个 url。

先感谢您

我只使用了以下

<form action="" id="main" name="main" method="get" onChange="top.location.href=this.options[this.selectedIndex].value;" value="GO">

<select id="Region" name="Region" tabindex="7">
   <option value="/url">Option1</option>
   <option value="/url">Option2</option>
   <option value="/url">Option3</option>
   <option value="/url>Option4</option>
   <option value="" selected="selected">Option5</option>'
</select>
4

3 回答 3

60

只需使用onchnage Eventfor 选择框。

<select id="selectbox" name="" onchange="javascript:location.href = this.value;">
    <option value="https://www.yahoo.com/" selected>Option1</option>
    <option value="https://www.google.co.in/">Option2</option>
    <option value="https://www.gmail.com/">Option3</option>

</select>

如果选择的选项在页面加载时加载,则添加一些 javascript 代码

<script type="text/javascript">
    window.onload = function(){
        location.href=document.getElementById("selectbox").value;
    }       
</script>

对于 jQuery:从<select>标签中删除 onchange 事件

jQuery(function () {
    // remove the below comment in case you need chnage on document ready
    // location.href=jQuery("#selectbox").val(); 
    jQuery("#selectbox").change(function () {
        location.href = jQuery(this).val();
    })
})
于 2012-09-12T14:20:33.273 回答
15

你可以用这个简单的方法

<select onchange="location = this.value;">
                <option value="/finished">Finished</option>
                <option value="/break">Break</option>
                <option value="/issue">Issues</option>
                <option value="/downtime">Downtime</option>
</select>

将重定向到路由 url,您可以直接到 .html 页面或直接到某个链接,只需更改value选项即可。

于 2017-04-07T05:52:51.163 回答
0

这可以通过在选择控件的 onchange 事件上添加代码来存档。

例如:

<select onchange="this.options[this.selectedIndex].value && (window.location = this.options[this.selectedIndex].value);">
    <option value="http://gmail.com">Gmail</option>
    <option value="http://youtube.com">Youtube</option>
</select>
于 2018-07-01T13:04:45.070 回答