javascript - 如何使用 Bootstrap Twitter 触发数据切换功能?

标签 javascript jquery twitter-bootstrap twitter-bootstrap-3 toggle

大家好,我在其中一个屏幕中显示了项目列表。一旦用户单击该项目,我想隐藏该项目显示另一个 div 容器并触发该功能。这是我目前所拥有的工作示例:

function appToggle() {
  var codeVal = $(this).data(code);
  console.log(codeVal);
}
<html lang="en">

<head>
  <title>My Application</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script language="javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="Bootstrap/Bootstrap_Confirmation/bootstrap-confirmation.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
  <div id="main-container" class="container">
    <div id="master_list" class="collapse in">
      <fieldset>
        <legend>Application</legend>
        <div class="list-group">
          <a href="#" class="list-group-item" data-toggle="collapse" data-target="#master_list,#master_table">
            <span data-code="APP_USERS" class="glyphicon glyphicon-list"></span> Application Users
          </a>
          <a href="#" class="list-group-item" data-toggle="collapse" data-target="#master_list,#master_table">
            <span data-code="APP_POS" class="glyphicon glyphicon-list"></span> Application Positions
          </a>
        </div>
      </fieldset>
    </div>
    <div id="master_table" class="collapse">
      <div class="row">
        <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
          <button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#master_table,#master_list">
                        <span class="glyphicon glyphicon-plus-sign"></span> Go Back
                    </button>
        </div>
      </div>
      Test Show/Hide container
    </div>
  </div>
</body>

</html>

如您在上面的示例中所见,如果用户单击列表中的任何项目,将显示新容器并且列表将从屏幕上消失。我希望一旦他们单击以触发 appToggle() 函数,该函数将获取当前元素的代码值。有没有办法在不将函数设置为内联元素的情况下自动触发此函数?如果有人知道实现这一目标的方法,请告诉我。

最佳答案

您是否尝试过作为 onclick 监听器执行该功能?例如

$('a.list-group-item').click(function() {
  var codeVal = $(this).children('span').data('code');
  console.log(codeVal);
});
<html lang="en">

<head>
  <title>My Application</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <script language="javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script language="javascript" src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="Bootstrap/Bootstrap_Confirmation/bootstrap-confirmation.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>

<body>
  <div id="main-container" class="container">
    <div id="master_list" class="collapse in">
      <fieldset>
        <legend>Application</legend>
        <div class="list-group">
          <a href="#" class="list-group-item" data-toggle="collapse" data-target="#master_list,#master_table">
            <span data-code="APP_USERS" class="glyphicon glyphicon-list"></span> Application Users
          </a>
          <a href="#" class="list-group-item" data-toggle="collapse" data-target="#master_list,#master_table">
            <span data-code="APP_POS" class="glyphicon glyphicon-list"></span> Application Positions
          </a>
        </div>
      </fieldset>
    </div>
    <div id="master_table" class="collapse">
      <div class="row">
        <div class="form-group col-xs-12 col-sm-12 col-md-12 col-lg-12">
          <button type="button" class="btn btn-primary" data-toggle="collapse" data-target="#master_table,#master_list">
                        <span class="glyphicon glyphicon-plus-sign"></span> Go Back
                    </button>
        </div>
      </div>
      Test Show/Hide container
    </div>
  </div>
</body>

</html>

关于javascript - 如何使用 Bootstrap Twitter 触发数据切换功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49909434/

相关文章:

css - Bootstrap 弹出窗口动态大小

html - CSS 文件未在 Safari 中加载

javascript - jQuery - 选择选项更改时,显示/隐藏 DIV

javascript - 可以:not selector be used with 'this' ?

javascript - Bootstrap 悬停选项卡显示多个选项卡

javascript - 如何将值从一个表单组实时传递到另一个表单组作为响应式(Reactive)表单中的双向数据绑定(bind)?

javascript - 用Jquery限制div的上下移动

javascript - 调用不带参数的函数

JavaScript fetch 然后 innerHTML 问题

javascript - 在 Angular 中检查 sessionStorage 并将变量传递给 $scope 的正确方法是什么?