是否有更简单的方法根据单选按钮的选择重定向浏览器?这是有效的,但从我在万维网上阅读的内容来看,可能有一种更简单的方法。
这是我的表格:
<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");
}
});});
提前致谢
答案 0 :(得分: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()更灵活!
答案 1 :(得分:1)
的 LIVE DEMO 强>
$(function() {
$("input[name$='value']").change(function() {
window.location.assign("http://www."+ this.value +".com");
});
});
答案 2 :(得分:0)
window.location.replace
将是您的选择。但是,如果您希望保留历史记录(功能浏览器后退按钮),则window.location
或window.location.href
中的任何一个都是您最好的选择。
如果是单页应用程序,那么您也可以考虑window.location.hash
进行散列网址更改。
要获取单选按钮的值,您可以尝试
$('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);
});
答案 3 :(得分:-1)
我会将网址设置为单选按钮的值。
<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');
});
});