Dropdownmenu Bootstrap JS


JS-dropdown (dropdown.js)

Een vervolgkeuzemenu is een schakelbaar menu waarmee de gebruiker één waarde uit een vooraf gedefinieerde lijst kan kiezen.

Voor een tutorial over Dropdowns, lees onze Bootstrap Dropdowns Tutorial .


De vervolgkeuzelijst-plug-inklassen

Class Description Example
.dropdown Indicates a dropdown menu
.dropdown-menu Builds the dropdown menu
.dropdown-menu-right Right-aligns a dropdown menu
.dropdown-header Adds a header inside the dropdown menu
.dropup Indicates a dropup menu
.disabled Disables an item in the dropdown menu
.divider Separates items inside the dropdown menu with a horizontal line

Via data-* Attributen

Voeg toe data-toggle="dropdown"aan een link of een knop om een ​​vervolgkeuzemenu te schakelen.

Voorbeeld

<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown Example</a>

Via JavaScript

Handmatig inschakelen met:

Voorbeeld

$('.dropdown-toggle').dropdown();

Opmerking: het kenmerk data-toggle="dropdown" is vereist, ongeacht of u de methode dropdown() aanroept.



Dropdown-opties

None

Dropdown-methoden

De volgende tabel bevat alle beschikbare vervolgkeuzemenu's.

Method Description Try it
.dropdown("toggle") Toggles the dropdown

Dropdown-evenementen

In de volgende tabel worden alle beschikbare vervolgkeuzemenu's weergegeven.

Event Description Try it
show.bs.dropdown Occurs when the dropdown is about to be shown.
shown.bs.dropdown Occurs when the dropdown is fully shown (after CSS transitions have completed)
hide.bs.dropdown Occurs when the dropdown is about to be hidden
hidden.bs.dropdown Occurs when the dropdown is fully hidden (after CSS transitions have completed)

Tip: gebruik jQuery's event.relatedTarget om het element te krijgen dat de vervolgkeuzelijst heeft geactiveerd:

Voorbeeld

$(".dropdown").on("show.bs.dropdown", function(event){
  var x = $(event.relatedTarget).text(); // Get the text of the element
  alert(x);
});

Meer voorbeelden

Verander het caret-pictogram in ondersteboven

In het volgende voorbeeld verandert het pictogram van het dakje van naar beneden wijzend naar omhoog wanneer op de vervolgkeuzelijst wordt geklikt:

Voorbeeld

/* CSS: */
<style>
.caret.caret-up {
  border-top-width: 0;
  border-bottom: 4px solid #fff;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $(".dropdown").on("hide.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret"></span>');
  });
  $(".dropdown").on("show.bs.dropdown", function(){
    $(".btn").html('Dropdown <span class="caret caret-up"></span>');
  });
});
</script>

Navigatiebalk met vervolgkeuzelijst

In het volgende voorbeeld wordt een vervolgkeuzemenu toegevoegd voor een knop in de navigatiebalk:

Voorbeeld

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div>
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
          <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
    </div>
  </div>
</nav>

Het volgende voorbeeld voegt een vervolgkeuzemenu toe met een inlogformulier in de navigatiebalk:

Voorbeeld

<ul class="nav navbar-nav navbar-right">
  <li class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown" href="#">Login <span class="glyphicon glyphicon-log-in"></span></a>
    <div class="dropdown-menu">
      <form id="formlogin" class="form container-fluid">
        <div class="form-group">
          <label for="usr">Name:</label>
          <input type="text" class="form-control" id="usr">
        </div>
        <div class="form-group">
          <label for="pwd">Password:</label>
          <input type="password" class="form-control" id="pwd">
        </div>
          <button type="button" id="btnLogin" class="btn btn-block">Login</button>
      </form>
      <div class="container-fluid">
        <a class="small" href="#">Forgot password?</a>
      </div>
    </div>
  </li>
</ul>

Vervolgkeuzelijsten op meerdere niveaus

In dit voorbeeld gebruiken we jQuery om vervolgkeuzelijsten op meerdere niveaus te openen bij klikken:

Voorbeeld

<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>

In dit voorbeeld hebben we een aangepaste .dropdown-submenuklasse gemaakt voor vervolgkeuzelijsten met meerdere niveaus:

Voorbeeld

 /* CSS: */
<style>
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}
</style>

/* JS: */
<script>
$(document).ready(function(){
  $('.dropdown-submenu a.test').on("click", function(e){
    $(this).next('ul').toggle();
    e.stopPropagation();
    e.preventDefault();
  });
});
</script>