Xander
Xander

Reputation: 1011

Switching an active bootstrap tab?

As far as I can see I've followed a w3 example exactly regarding bootstrap tabs (https://www.w3schools.com/bootstrap/bootstrap_tabs_pills.asp). However with my following code, the tabs don't change when clicked. The only tab displayed is the active tab. I'm not hugely familiar with bootstrap so I imagine the solution may probably be simple.

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Login</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <link rel="stylesheet" href="css/login.css">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

  <script src="js/login.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

</head>

<body>
  <div class="container">
    <!-- <div id="tabs" class="container"> -->
      <ul class="nav nav-tabs">
        <li class="active">
          <a data-toggle="tab" href="#student">Student</a>
        </li>

        <li>
          <a data-toggle="tab" href="#employee">Employee</a>
        </li>

        <li>
          <a data-toggle="tab" href="#admin">Admin</a>
        </li>
      </ul>

      <div class="tab-content">
        <div id="student" class="tab-pane fade in active">
          <h1>TEST</h1>
        </div>
        <div id="employee" class="tab-pane fade">
          <h1>TEST2</h1>
        </div>
        <div id="admin" class="tab-pane fade">
          <h1>TEST3</h1>
        </div>
      </div>

    <!-- </div> -->
  </div>

</body>
</html>

Upvotes: 0

Views: 127

Answers (1)

Fede Antu&#241;a
Fede Antu&#241;a

Reputation: 72

The example from W3 is not working either! Try this

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Login</title>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="stylesheet" href="css/login.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

        <script src="js/login.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

    </head>

    <body>
        <div class="container">
            <!-- Nav tabs -->
            <ul class="nav nav-tabs" role="tablist">
                <li role="presentation" class="active"><a href="#home" aria-controls="home" role="tab" data-toggle="tab">Home</a></li>
                <li role="presentation"><a href="#profile" aria-controls="profile" role="tab" data-toggle="tab">Profile</a></li>
                <li role="presentation"><a href="#messages" aria-controls="messages" role="tab" data-toggle="tab">Messages</a></li>
                <li role="presentation"><a href="#settings" aria-controls="settings" role="tab" data-toggle="tab">Settings</a></li>
            </ul>

            <!-- Tab panes -->
            <div class="tab-content">
                <div role="tabpanel" class="tab-pane active" id="home">
                    TEST 1
                </div>
                <div role="tabpanel" class="tab-pane" id="profile">
                    TEST 2
                </div>
                <div role="tabpanel" class="tab-pane" id="messages">
                    TEST 3
                </div>
                <div role="tabpanel" class="tab-pane" id="settings">
                    TEST 4
                </div>
            </div>

        </div>
    </body>
</html>

And check: https://getbootstrap.com/docs/3.3/javascript/#tabs for more information

EDIT

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

This line must go before bootstrap.min.js, like this:

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

Upvotes: 1

Related Questions