Jquery 引导不按url切换选项卡
我正在创建一个表单,允许用户选择他们想要使用的电子邮件服务 但是,当我使用引导时,链接会重新加载页面,但不会切换我需要的选项卡 范例 如果我加载页面,并单击“GMail”链接,它将重新加载页面,但仍保留在默认选项卡上 这是我的密码Jquery 引导不按url切换选项卡,jquery,html,twitter-bootstrap,Jquery,Html,Twitter Bootstrap,我正在创建一个表单,允许用户选择他们想要使用的电子邮件服务 但是,当我使用引导时,链接会重新加载页面,但不会切换我需要的选项卡 范例 如果我加载页面,并单击“GMail”链接,它将重新加载页面,但仍保留在默认选项卡上 这是我的密码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Email Setup</title>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Email Setup</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="assets/stylesheets/email_setup.css">
</head>
<script type="text/javascript">
// Javascript to enable link to tab
console.log("ASDF");
var url = document.location.toString();
if (url.match('#')) {
$('.nav-tabs a[href="#' + url.split('#')[1] + '"]').tab('show');
}
$('.nav-tabs a').on('shown.bs.tab', function(e) {
window.location.hash = e.target.hash;
});
</script>
<body>
<div id="email_setup_table" class="container">
<ul class="nav nav-tabs">
<li class="active">
<a href="#tab-default" data-toggle="tab">Select</a>
</li>
<li><a href="#tab-gmailTab" data-toggle="tab">Gmail</a>
</li>
<li><a href="#tab-yahooTab" data-toggle="tab">Yahoo</a>
</li>
<li><a href="#tab-outlookTab" data-toggle="tab">Outlook</a>
</li>
<li><a href="#tab-otherTab" data-toggle="tab">Other</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-default">
<h3>Select Email Provider</h3>
<a href="/email_bot/front_end/email_setup.html#tab-gmailTab">GMail</a>
<a href="/email_bot/front_end/email_setup.html#tab-yahooTab">Yahoo</a>
<a href="/email_bot/front_end/email_setup.html#tab-outlookTab">Outlook</a>
<a href="/email_bot/front_end/email_setup.html#tab-otherTab">Manual Setup</a>
</div>
<div class="tab-pane" id="tab-gmailTab">
<h3>Gmail Setup</h3>
<form>
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Enter email">
<small id="emailHelp" class="form-text text-muted">We'll never share your email with anyone else.
</small>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
</form>
</div>
<div class="tab-pane" id="tab-yahooTab">
<h3>Yahoo support coming soon</h3>
</div>
<div class="tab-pane" id="tab-outlookTab">
<h3>Outlook support coming soon</h3>
</div>
<div class="tab-pane" id="tab-otherTab">
<h3>Other support coming soon</h3>
</div>
</div>
</div>
</body>
</html>
电子邮件设置
//启用链接到选项卡的Javascript
控制台日志(“ASDF”);
var url=document.location.toString();
if(url.match('#')){
$('.nav tabs a[href=“#'+url.split('#')[1]+'''']).tab('show');
}
$('.nav tabs a').on('show.bs.tab',函数(e){
window.location.hash=e.target.hash;
});
-
-
-
-
选择电子邮件提供商
Gmail设置
电子邮件地址
我们永远不会与其他人共享您的电子邮件。
密码
雅虎的支持即将到来
Outlook支持即将推出
其他支持即将到来
我不知道为什么它不会自动切换,任何帮助都会很好。因为您正在单击一个链接,如果您不希望页面尝试导航,您需要阻止该链接的默认操作 与Bootstrap示例类似,您应该能够通过以下JS实现这一点。注意
$(function(){
包装器,它是jQuery的包装器,用于确保页面元素已完成加载
$(function() {
$('#tab-default a').on('click', function(e) {
e.preventDefault(); // Don't navigate the page
$('.nav-tabs a[href="' + this.hash + '"]').tab('show'); // Activate the tab
});
});