9

I was wondering if there is an option on the jQuery UI Selectable that will let me disable the Ctrl+Click, but still keep the draggable for the multiple selection. On my project I want to be able for people to select multiples, but only by dragging, not by Ctrl+clicking.

If there isn't, does anyone know a way I can achieve this?

Any information would be really helpful! :) Thanks!!!

Abhishek
  • 6,912
  • 14
  • 59
  • 85
typefasterjoel
  • 125
  • 2
  • 7

3 Answers3

12

Selectable uses the metaKey flag to do multi-select, so you can bind metaKey to be false on the mousedown before calling selectable. Then Ctrl+click will always be off. Make sure to bind before calling selectable though.

$('#selectable').bind("mousedown", function (e) {
            e.metaKey = false;
 }).selectable()

jsFiddle here

Abhishek
  • 6,912
  • 14
  • 59
  • 85
EvilAmarant7x
  • 2,059
  • 4
  • 24
  • 33
3

There is another usage of this good solution above - if you want to be able to just use your mouse click to do all the selecting/unselecting, without the need for holding the Ctrl for multiselects or for unselects - just always set the e.metaKey from EvilAmarant7x's example to true. It was exactly what I needed.

Edit: apparently someone already thought of that: Implement multiple selects with jQuery UI Selectable :)

Community
  • 1
  • 1
userfuser
  • 1,350
  • 1
  • 18
  • 32
2
$("#selectable").on("selectablestart", function (event, ui) {
event.originalEvent.ctrlKey = false;
});
BZC
  • 456
  • 6
  • 15