大家好我正在创建自定义多步骤表单,但是当我点击下一步按钮时,它可以trigger
相关<a>
锚标记(自动点击)
请帮我解决我的问题
提前致谢
$(function() {
$("#nextBtn").click(function() {
var $tabs = $("li");
$tabs.each(function() {
var activeTab = $(this).hasClass("active");
if (activeTab == true) {
//var activeAnch = $(this).children().attr("href");
alert($(this).next('li').children().attr("href"));
var nextId = $(this).next('li').children().attr("id");
//$("#"+nextId).click();// trigger click to #menu 1 <a>
}
});
});
});
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</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.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#home">Home</a></li>
<li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
<li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<span>Form 1</span>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<span>Form 2</span>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<span>Form 3</span>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<span>Form 4</span>
</div>
</div>
<button id="nextBtn">Next</button>
</body>
</html>
&#13;
答案 0 :(得分:1)
你要做的只是
beverage.bname
$("#nextBtn").click(function() {
var $nextLi = $('li.active').next('li');
if ($nextLi.length) $nextLi.find('a:first').click();
});
&#13;
$(function() {
$("#nextBtn").click(function() {
var $nextLi = $('li.active').next('li');
if ($nextLi.length) {
$nextLi.find('a:first').click();
} else {
$('ul.nav a:first').click();
}
});
});
&#13;
答案 1 :(得分:1)
请使用以下代码来实现此目的。
$(document).ready(function() {
$("#nextBtn").click(function() {
$('li.active').next().find('a')[0].click();
//hide the next button
$('.nav li a').on('shown.bs.tab', function(e) {
var $lastEle = $(".nav li:last-child").hasClass('active');
if ($lastEle) {
$("#nextBtn").hide();
}else{
$("#nextBtn").show();
}
});
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</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.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#home">Home</a></li>
<li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
<li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<span>Form 1</span>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<span>Form 2</span>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<span>Form 3</span>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<span>Form 4</span>
</div>
</div>
<button id="nextBtn">Next</button>
</body>
</html>
答案 2 :(得分:1)
与[clas='active']
匹配
$(function() {
$("#nextBtn").click(function() {
var nextId = $("li[class='active']").next('li').children('a').attr("href")
if(nextId){
$('a[href="'+nextId+'"]').trigger('click');
}
else{
$('ul').children('li').eq(0).children('a').trigger('click');
}
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</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.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#home">Home</a></li>
<li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
<li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<span>Form 1</span>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<span>Form 2</span>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<span>Form 3</span>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<span>Form 4</span>
</div>
</div>
<button id="nextBtn">Next</button>
</body>
</html>
答案 3 :(得分:1)
我对Parvez Rahman的回答做了一些修改。您不需要通过javascript在元素内部单击。我想这就像反模式。
您可以使用引导功能显示带有标签功能的下一个标签,而不是单击该元素。
$(function() {
$("#nextBtn").click(function() {
$('li.active').next().find('a').tab("show"); //show tab of the next li
});
});
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</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.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#home">Home</a></li>
<li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
<li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<span>Form 1</span>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<span>Form 2</span>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<span>Form 3</span>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<span>Form 4</span>
</div>
</div>
<button id="nextBtn">Next</button>
</body>
</html>
&#13;
答案 4 :(得分:0)
$(function() {
$("#nextBtn").click(function() {
var $tabs = $("li");
$tabs.each(function() {
var activeTab = $(this).hasClass("active");
if (activeTab == true) {
var secAttr = $(this).next('li').children().attr("href");
$('a[href="' + secAttr + '"]').tab('show');
return false;
}
});
});
});
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Case</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.2.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#home">Home</a></li>
<li><a data-toggle="pill" href="#menu1">Menu 1</a></li>
<li><a data-toggle="pill" href="#menu2">Menu 2</a></li>
<li><a data-toggle="pill" href="#menu3">Menu 3</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<span>Form 1</span>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<span>Form 2</span>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<span>Form 3</span>
</div>
<div id="menu3" class="tab-pane fade">
<h3>Menu 3</h3>
<span>Form 4</span>
</div>
</div>
<button id="nextBtn">Next</button>
</body>
</html>
&#13;