🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

AngularJS ngSelectable directive allows you to easy select multiples items individually or in a group.

Plugins

Documentation

AngularJS ngSelectable directive

Allows you to easy select multiples items individually or in a group.

Requirements

  • JQuery
  • JQueryUI
  • AngularJS

Notes:

JQuery must be included before AngularJS. JQueryUI dependecies include core, widget, mouse & selectable. Creating a custom build will greatly reduce the required file size. (CDN links for comparison: full vs minimal)

Examples

Usage

Install the bower package (or just copy the source):

bower install ngSelectable --save 

Load the script file: ngSelectable.js in your application:

<script type="text/javascript" src="ngSelectable.js"></script>

Add the selectable module as a dependency to your application module:

var myAppModule = angular.module('MyApp', ['ngSelectable'])

Apply the directive to your selectable list:

<ul selectable selectable-list="items">   <li ng-repeat="item in items">{{item}}</li> </ul>

Selected Items Binding

Selected: <span ng-repeat="item in selected">{{item}}</span> <ul selectable selectable-list="items" selectable-out="selected">   <li ng-repeat="item in items">{{item}}</li> </ul>

Directive Toggle

<label>   <input type="checkbox" ng-model="selection" /> Active Selection </label> <ul selectable="selection">   <li ng-repeat="item in items">{{item}}</li> </ul>

Options

All the jQueryUI Selectable options can be passed through selectable-options.

<ul selectable selectable-options="{filter:'li'}">   <li ng-repeat="item in items">{{item}}</li> </ul>

Events

All the jQueryUI Selectable events can be passed through selectable-events with all the angular injections like $index and $event. You can also get the working list ($list), the selected items ($selected) and the JqueryUI object ($ui).

<ul selectable selectable-events="{start:'myMethod($event, $ui, $selected, $list)'}">   <li ng-repeat="item in items">{{item}}</li> </ul>

You May Also Like