2015-12-31 523 views
3

我有select列表,当我点击go按钮时转到外部链接。但链接在同一个窗口中打开。我想让它打开新窗口。这是我的代码。window.location在新标签页中打开

<select id="my-dropdown" name="my-dropdown"> 
    <option value="http://www.google.com">A</option> 
    <option value="http://www.aol.com">B</option> 
</select> 
<button class="go-btn" type="submit">Go</button> 

的Javascript:

$('.go-btn').click(function() { 
    window.location = $('#my-dropdown').val(); 
});  

任何人都可以帮助吗?

+0

一些建议的答案会触发弹出式窗口拦截器。这是你的问题吗? – colecmc

回答

3

使其

$('.go-btn').click(function() { 
    window.open($('#my-dropdown').val()); 
});  

$('.go-btn').click(function() { 
    window.open($('#my-dropdown').val(), "_newtab"); 
});  
0

我想你可以试试这个太

window.open($('#my-dropdown').val(), '_blank'); 
0

尝试用window.open()

$('.go-btn').click(function() { 
window.open($('#my-dropdown').val(), '_blank'); 
}); 

Working Demo

0

纯JavaScript解决方案:

<select id="my-dropdown" name="my-dropdown"> 
    <option value="www.google.com">A</option> 
    <option value="www.aol.com">B</option> 
</select> 
<button class="go-btn" type="button" onclick="go();">Go</button> 

<script> 
    function go() { 
    var e = document.getElementById("my-dropdown"); 
    var url = e.options[e.selectedIndex].value; 
    window.open(url, "_newtab"); 
    }; 
</script> 
0

请检查该

<select id="my-dropdown">      
    <option value="http://www.google.com">A</option> 
    <option value="http://www.facebook.com">B</option> 
</select> 
<button class="go-btn" type="submit">Go</button> 

$(document).ready(function(){ 
    $('.go-btn').click(function() { 
     window.open($('#my-dropdown').val(), '_blank'); 
    }); 
}); 
0

这是一个不同的方法,不会触发浏览器弹出窗口阻止程序作为window.open有时能够。

动态地创建一个链接与您的下拉列表的值以及target="_blank",然后强制点击它。

看到它在jsbin

var setAttributes = function(d, b) { 
 
    for (var h in b) b.hasOwnProperty(h) && d.setAttribute(h, b[h]); 
 
    return d; 
 
}; 
 

 
var makeLink = function(id, href) { 
 
    var link = document.createElement('a'), 
 
    attr = { 
 
     'id': id, 
 
     'href': href, 
 
     'target': '_blank', 
 
     'style':'display:none' 
 
    }; 
 

 
    link.insertAdjacentHTML('beforeend', href); 
 
    return setAttributes(link, attr); 
 
}; 
 

 
$(document).ready(function() { 
 
    $('.go-btn').click(function() { 
 
    var theLink,myLink = makeLink('the-link', $('#my-dropdown').val()); 
 

 
    document.body.insertAdjacentHTML('beforeend',myLink.outerHTML); 
 
    theLink = document.getElementById('the-link'); 
 
    console.log(theLink); 
 
    theLink.click(); 
 
    theLink.parentElement.removeChild(theLink); 
 
    }); 
 
});
<!DOCTYPE html> 
 
<html> 
 

 
<head> 
 
    <title>Open in new tab - No pop up blocker</title> 
 
    <meta charset="utf-8"> 
 
</head> 
 

 
<body> 
 

 
    <select id="my-dropdown" name="my-dropdown"> 
 
    <option value="http://www.google.com">A</option> 
 
    <option value="http://www.aol.com">B</option> 
 
    <option value="http://stackoverflow.com/">C</option> 
 
    </select> 
 
    <button class="go-btn" type="submit">Go</button> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
</body> 
 

 
</html>

0

您可以使用下面

$('.go-btn').click(function() { 
    window.open($('#my-dropdown').val(), "_blank"); 
}); 
0

这里是如何在新标签中打开它,但我不知道窗口:

$('.go-btn').click(function() { 
    window.open("#my-dropdown", "_blank"); 
}); 
相关问题