【问题标题】:Dynamically change tab activity when click the button in another tab that triggers input focusing单击另一个选项卡中触发输入聚焦的按钮时动态更改选项卡活动
【发布时间】:2017-08-11 19:23:49
【问题描述】:

我有这样的标签窗格

<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
  <div class="form-group">
    <label class="control-label col-sm-2" for="n_pimpinan">TEXT :</label>
    <div class="col-sm-4">
        <input type="text" class="form-control" id="n_pimpinan" name="n_pimpinan" placeholder="text">
        <button type="text" class="btn btn-default" id="button" name="button" >Click ME</button>
    </div>
    </div>
</div>
<div id="menu1" class="tab-pane fade">
   <div class="form-group">
    <label class="control-label col-sm-2" for="n_pimpinan">TEXT 2:</label>
    <div class="col-sm-4">
        <input type="text" class="form-control" id="n_pimpinan2" name="n_pimpinan2" placeholder="text">
        <button type="text" class="btn btn-default" id="button" name="button2" >Click ME 2</button>
    </div>
</div>

如果我点击按钮[name="button"],它会引导我到 Tab Menu 1 并聚焦在 input[name="n_pimpinan2"]使用jQuery?因此该选项卡会将活动选项卡从 Home 选项卡更改为 Menu 1 选项卡,而无需单击 javascript 属性选项卡窗格。

我做了一些这样的 javascript

$('#button').click(function(){
    $('input[name="n_pimpinan2"]').focusin();
});

但它不会将我引导到另一个选项卡(Menu 1

非常感谢

【问题讨论】:

  • 问题解决了吗?

标签: javascript jquery twitter-bootstrap-3 tabs


【解决方案1】:

您可以使用.tab('show') 和 jquery .focus() 方法来实现您的目标,如下所示。

$('#button').click(function(e){
    e.preventDefault();
    $('.nav-tabs a[href="#menu1"]').tab('show');
    $('input[name="n_pimpinan2"]').focus();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<ul class="nav nav-tabs">
  <li class="active"><a data-toggle="tab" href="#home">Home</a></li>
  <li style="margin-left:20px"><a data-toggle="tab" href="#menu1">Menu 1</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
  <div class="form-group">
    <label class="control-label col-sm-2" for="n_pimpinan">TEXT :</label>
    <div class="col-sm-4">
        <input type="text" class="form-control" id="n_pimpinan" name="n_pimpinan" placeholder="text">
        <button type="text" class="btn btn-default" id="button" name="button" >Click ME</button>
    </div>
    </div>
</div>
<div id="menu1" class="tab-pane fade">
   <div class="form-group">
    <label class="control-label col-sm-2" for="n_pimpinan">TEXT 2:</label>
    <div class="col-sm-4">
        <input type="text" class="form-control" id="n_pimpinan2" name="n_pimpinan2" placeholder="text">
        <button type="text" class="btn btn-default" id="button" name="button2" >Click ME 2</button>
    </div>
</div>

【讨论】:

  • 但是选项卡窗格似乎坏了,当我再次点击主页时,它并没有改变内容,
  • 当我单击主页选项卡中的按钮 1 时,它会将内容更改为选项卡菜单 1,但是当我尝试再次单击主页选项卡时,它仍然在菜单 1 内容中
  • @gagantous 我已经更新了我的答案。现在它可以按您的意愿工作了
猜你喜欢
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
  • 2016-09-29
  • 1970-01-01
相关资源
最近更新 更多