The dropdown closes after every click

The drop-down folder is closed after every mouse click. The drop-down list should be closed only after clicking the "Close (X)" button. How can i do this? Plunk:

http://plnkr.co/edit/7mcBoyfbrT3FNl2vJLjh?p=preview

<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

  </head>

  <body>
    <h1>Hello Plunker!</h1>
    <div class="btn-group">
          <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
            Action <span class="caret"></span>
          </button>
          <ul class="dropdown-menu" role="menu">
            <li><a href="#">Action</a>
            </li>
            <li><a href="#">Another action</a>
            </li>
            <li><a href="#">Something else here</a>
            </li>
            <li class="divider"></li>
            <li><a href="#">Separated link</a>
            </li>
          </ul>
        </div>
  </body>
</html>

      

+3


source to share


1 answer


If you want to do it in your own bootstrap then this answer is right.

But I would recommend that you use angular ui bootstrap ( https://angular-ui.github.io/bootstrap/ ). like, you are using angular.js (in plunker) and angular ui bootstrap provides all bootstrap components as directives. and you don't have to write an angular wrapper around your own bootstrap components.

Luckily, the dropdown in angular ui bootstrap provides an option for auto-close

you can set to outsideClick

, so it won't close when you click inside the dropdown.

angular UI Dropdown Documentation



See a working example below.

var app = angular.module('app', ['ui.bootstrap']);

app.controller('ctrl', function($scope) {

  $scope.closeDropDown = function() {
    $scope.isopen = false;
  };
  
});
      

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.13/angular.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.0.js"></script>

<div ng-app="app">
  <div ng-controller="ctrl">
    <div class="btn-group" dropdown is-open="isopen" auto-close="outsideClick">
      <button type="button" class="btn btn-default dropdown-toggle" dropdown-toggle>
        Options <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li><a href="#">Action</a>
          <ul>
            <label class="checkbox">
              <input type="checkbox">Open
            </label>
          </ul>
          <ul>
            <label class="checkbox">
              <input type="checkbox">Close
            </label>
          </ul>
        </li>

        <li><a href="#">Another action</a>
        </li>
        <li><a href="#">Something else here</a>
        </li>
        <li class="divider"></li>
        <li><a href="#">Separated link</a>
        </li>
        <li class="divider"></li>
        <li>
          <button type="button" ng-click="closeDropDown()">Close (X)</button>
        </li>
      </ul>
    </div>

  </div>
</div>
      

Run codeHide result


+3


source







All Articles