6

有没有更简单的方法可以根据单选按钮的选择来重定向浏览器?这可行,但从我在万维网上阅读的内容来看,可能有一种更简单的方法。

这是我的表格:

<form>
<input type="radio" name="value" value="google"><span>Google</span><br>
<input type="radio" name="value" value="yahoo"><span>Yahoo</span><br>
<input type="radio" name="value" value="bing"><span>Bing</span>

这是我的jQuery:

$(function() {
$("input[name$='value']").click(function() {
    var value = $(this).val();
    if (value == 'google') {
        window.location.assign("http://www.google.com");
    }
    else if (value == 'yahoo') {
        window.location.assign("http://www.yahoo.com");
    }
    else if (value == 'bing') {
        window.location.assign("http://www.bing.com");
    }
});});

提前致谢

4

4 回答 4

6

我会将 html 更改为以下内容:

<form>
<input type="radio" name="redirect" value="http://google.com"><span>Google</span><br>
<input type="radio" name="redirect" value="http://yahoo.com"><span>Yahoo</span><br>
<input type="radio" name="redirect" value="http://bing.com"><span>Bing</span>
</form>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$('input[type="radio"]').on('click', function() {
     window.location = $(this).val();
});
</script>

我也会更改为 .on() 方法,因为它只是调用 .on() 。原因是 .click() 只是调用了 .on() 方法,创建了一个额外的函数调用,而这并不是真正必要的。加上 .on() 更加灵活!

于 2013-02-23T17:10:41.780 回答
1

LIVE DEMO

$(function() {

    $("input[name$='value']").change(function() {
        window.location.assign("http://www."+ this.value +".com");
    });

});
于 2013-02-23T17:10:16.143 回答
0

window.location.replace如果您需要http重定向,那将是可行的方法。但是,如果您希望保留历史记录(正常运行的浏览器后退按钮),那么其中一个window.locationwindow.location.href将是您最好的选择。如果它是单页应用程序,那么您还可以考虑window.location.hash更改散列 url。

要获取单选按钮的值,您可以尝试

$('input[type=radio]').on('change', function(e) {
   // preferred window location change appropriate as mentioned above
});

对于基于 jquery 的解决方案:

$('input[type=\'radio\']').on('change', function(e) {
   $(location).attr('href', this.value);
});
于 2013-02-23T19:53:54.913 回答
-1

我会将 url 设置为单选按钮的值。

<form>
<input type="radio" name="websiteRadio" value="http://www.google.com"><span>Google</span><br>
<input type="radio" name="websiteRadio" value="http://www.yahoo.com"><span>Yahoo</span><br>
<input type="radio" name="websiteRadio" value="http://www.bing.com"><span>Bing</span>
</form>

$(document).ready(function()
 $("input[name='websiteRadio']").click(function() {        
    window.location = $(this).attr('value');
 });
});
于 2013-02-23T17:15:08.990 回答