1

编辑:我忘记了链接上的 http://。这不是我的问题。我会解决这个问题...

我有一些选择,比如:

<select class="mySelect">
    <option value="http://www.url1.com">Url 1</option> <!--Default displayed--->
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>

为此,我有一个 jquery 侦听器,如下所示:

$('.mySelect').change(function(){
    window.location.replace($(this).val());
});

由于这只是响应所做的更改,因此无法将我重定向到“www.url1.com”。我应该用什么?我只在谷歌上得到改变的建议。

编辑2:我有很多关于使用假人作为首选的解决方案。我还得到了另一个解决方案,即使用按钮读取所选选项然后重定向,但这在我正在处理的项目中不可用,即使这些都是非常好的解决方案。

在这种情况下,我希望它监听使用情况,即使对自身进行了更改,就像我选择第一个选项(默认选择)一样,我希望它对它做一些事情 - 在上面的情况下重定向. 如果有人对这个问题有很好的解决方案,我会把它打开。

4

4 回答 4

8

尝试输入一个空值的第一个选项:

<select class="mySelect">
    <option value="">Please select...</option>
    <option value="http://www.url1.com">Url 1</option>
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>

然后,您可以修改您的 jQuery 以确保在重定向之前有一个值:

$('.mySelect').change(function(){
    var value = $(this).val();
    if (value != "") {
       window.location.replace(value);
    }
});

示例小提琴

另请注意,http://链接值需要(或您使用的任何协议)。


更新

如果您不想使用 dummy 选项,则需要更改逻辑以处理按钮单击:

<select class="mySelect">
    <option value="http://www.url1.com">Url 1</option>
    <option value="http://www.url2.com">Url 2</option>
    <option value="http://www.url3.com">Url 3</option>
</select>
<button id="redirect">Go</button>
$("#redirect").click(function() {
    window.location.replace($(".mySelect").val());
});
于 2012-12-13T13:27:02.003 回答
0

http://你也必须放

window.location.replace("http://"+$(this).val());
于 2012-12-13T13:27:15.060 回答
0

一个选项可以是您更改第一个选项,例如

    <select class="mySelect">
    <option value="select">Select URL</option> <!--Default displayed--->
    <option value="www.url1.com">Url 1</option> 
    <option value="www.url2.com">Url 2</option>
    <option value="www.url3.com">Url 3</option>
    </select>

或者您可以将 click jquery 事件用于组合框。

于 2012-12-13T13:50:15.613 回答
-1
<form>
<select class="mySelect">
    <option value="" selected="selected">Please Select</option>
    <option value="www.url1.com">Url 1</option> 
    <option value="www.url2.com">Url 2</option>
    <option value="www.url3.com">Url 3</option>
</select>
</form>​

$(".mySelect").change( function() {
var n = $(this).val();
if(n != "") {
window.location.assign("http://"+n);
}
});​
于 2012-12-13T13:35:49.863 回答