The jQuery UI Selectable plugin allows for elements to be selected by dragging a box (sometimes called a lasso) with the mouse over the elements. Elements can also be selected via click or drag while holding the ctrl/meta key, allowing for multiple (non-contiguous) selections.
Dependencies
- UI Core
- Widget Factory
- Mouse Interaction
- This widget requires some functional CSS, otherwise it won't work. If you build a custom theme, use the widget's specific CSS file as a starting point.
"body"
Code examples:
Initialize the selectable with the appendTo
option specified:
$( ".selector" ).selectable({ appendTo: "#someElem" });
Get or set the appendTo
option, after initialization:
// Getter var appendTo = $( ".selector" ).selectable( "option", "appendTo" ); // Setter $( ".selector" ).selectable( "option", "appendTo", "#someElem" );
true
refresh()
method manually.Code examples:
Initialize the selectable with the autoRefresh
option specified:
$( ".selector" ).selectable({ autoRefresh: false });
Get or set the autoRefresh
option, after initialization:
// Getter var autoRefresh = $( ".selector" ).selectable( "option", "autoRefresh" ); // Setter $( ".selector" ).selectable( "option", "autoRefresh", false );
"input,textarea,button,select,option"
Code examples:
Initialize the selectable with the cancel
option specified:
$( ".selector" ).selectable({ cancel: "a,.cancel" });
Get or set the cancel
option, after initialization:
// Getter var cancel = $( ".selector" ).selectable( "option", "cancel" ); // Setter $( ".selector" ).selectable( "option", "cancel", "a,.cancel" );
0
Code examples:
Initialize the selectable with the delay
option specified:
$( ".selector" ).selectable({ delay: 150 });
Get or set the delay
option, after initialization:
// Getter var delay = $( ".selector" ).selectable( "option", "delay" ); // Setter $( ".selector" ).selectable( "option", "delay", 150 );
false
true
.Code examples:
Initialize the selectable with the disabled
option specified:
$( ".selector" ).selectable({ disabled: true });
Get or set the disabled
option, after initialization:
// Getter var disabled = $( ".selector" ).selectable( "option", "disabled" ); // Setter $( ".selector" ).selectable( "option", "disabled", true );
0
Code examples:
Initialize the selectable with the distance
option specified:
$( ".selector" ).selectable({ distance: 30 });
Get or set the distance
option, after initialization:
// Getter var distance = $( ".selector" ).selectable( "option", "distance" ); // Setter $( ".selector" ).selectable( "option", "distance", 30 );
"*"
Code examples:
Initialize the selectable with the filter
option specified:
$( ".selector" ).selectable({ filter: "li" });
Get or set the filter
option, after initialization:
// Getter var filter = $( ".selector" ).selectable( "option", "filter" ); // Setter $( ".selector" ).selectable( "option", "filter", "li" );
"touch"
-
"fit"
: Lasso overlaps the item entirely. -
"touch"
: Lasso overlaps the item by any amount.
Code examples:
Initialize the selectable with the tolerance
option specified:
$( ".selector" ).selectable({ tolerance: "fit" });
Get or set the tolerance
option, after initialization:
// Getter var tolerance = $( ".selector" ).selectable( "option", "tolerance" ); // Setter $( ".selector" ).selectable( "option", "tolerance", "fit" );
- This method does not accept any arguments.
Invoke the destroy method:
$( ".selector" ).selectable( "destroy" );
- This method does not accept any arguments.
Invoke the disable method:
$( ".selector" ).selectable( "disable" );
- This method does not accept any arguments.
Invoke the enable method:
$( ".selector" ).selectable( "enable" );
Retrieves the selectable's instance object. If the element does not have an associated instance, undefined
is returned.
Unlike other widget methods, instance()
is safe to call on any element after the selectable plugin has loaded.
- This method does not accept any arguments.
Invoke the instance method:
$( ".selector" ).selectable( "instance" );
Gets the value currently associated with the specified optionName
.
Note: For options that have objects as their value, you can get the value of a specific key by using dot notation. For example, "foo.bar"
would get the value of the bar
property on the foo
option.
- optionNameType: StringThe name of the option to get.
Invoke the method:
var isDisabled = $( ".selector" ).selectable( "option", "disabled" );
- This signature does not accept any arguments.
Invoke the method:
var options = $( ".selector" ).selectable( "option" );
Sets the value of the selectable option associated with the specified optionName
.
Note: For options that have objects as their value, you can set the value of just one property by using dot notation for optionName
. For example, "foo.bar"
would update only the bar
property of the foo
option.
- optionNameType: StringThe name of the option to set.
- valueType: ObjectA value to set for the option.
Invoke the method:
$( ".selector" ).selectable( "option", "disabled", true );
- optionsType: ObjectA map of option-value pairs to set.
Invoke the method:
$( ".selector" ).selectable( "option", { disabled: true } );
autoRefresh
option is set to false
.- This method does not accept any arguments.
Invoke the refresh method:
$( ".selector" ).selectable( "refresh" );
jQuery
object containing the selectable element. - This method does not accept any arguments.
Invoke the widget method:
var widget = $( ".selector" ).selectable( "widget" );
selectablecreate
Note: The ui
object is empty but included for consistency with other events.
Initialize the selectable with the create callback specified:
$( ".selector" ).selectable({ create: function( event, ui ) {} });
Bind an event listener to the selectablecreate event:
$( ".selector" ).on( "selectablecreate", function( event, ui ) {} );
selectableselected
- eventType: Event
- uiType: Object
- selectedType: ElementThe selectable item that has been selected.
-
Initialize the selectable with the selected callback specified:
$( ".selector" ).selectable({ selected: function( event, ui ) {} });
Bind an event listener to the selectableselected event:
$( ".selector" ).on( "selectableselected", function( event, ui ) {} );
selectableselecting
- eventType: Event
- uiType: Object
- selectingType: ElementThe current selectable item being selected.
-
Initialize the selectable with the selecting callback specified:
$( ".selector" ).selectable({ selecting: function( event, ui ) {} });
Bind an event listener to the selectableselecting event:
$( ".selector" ).on( "selectableselecting", function( event, ui ) {} );
selectablestart
Note: The ui
object is empty but included for consistency with other events.
Initialize the selectable with the start callback specified:
$( ".selector" ).selectable({ start: function( event, ui ) {} });
Bind an event listener to the selectablestart event:
$( ".selector" ).on( "selectablestart", function( event, ui ) {} );
selectablestop
Note: The ui
object is empty but included for consistency with other events.
Initialize the selectable with the stop callback specified:
$( ".selector" ).selectable({ stop: function( event, ui ) {} });
Bind an event listener to the selectablestop event:
$( ".selector" ).on( "selectablestop", function( event, ui ) {} );
selectableunselected
- eventType: Event
- uiType: Object
- unselectedType: ElementThe selectable item that has been unselected.
-
Initialize the selectable with the unselected callback specified:
$( ".selector" ).selectable({ unselected: function( event, ui ) {} });
Bind an event listener to the selectableunselected event:
$( ".selector" ).on( "selectableunselected", function( event, ui ) {} );
selectableunselecting
- eventType: Event
- uiType: Object
- unselectingType: ElementThe current selectable item being unselected.
-
Initialize the selectable with the unselecting callback specified:
$( ".selector" ).selectable({ unselecting: function( event, ui ) {} });
Bind an event listener to the selectableunselecting event:
$( ".selector" ).on( "selectableunselecting", function( event, ui ) {} );
A simple jQuery UI Selectable.
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>selectable demo</title> <link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css"> <style> #selectable .ui-selecting { background: #ccc; } #selectable .ui-selected { background: #999; } </style> <script src="//code.jquery.com/jquery-1.10.2.js"></script> <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script> </head> <body> <ul id="selectable"> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> </ul> <script> $( "#selectable" ).selectable(); </script> </body> </html>
Please login to continue.