2012-07-02 30 views
8

necesito las funcionalidades siguientesjQuery UI múltiples de selección de arrastre

  1. seleccionar los elementos de la lista arrastrando el ratón y la tecla CNTRL similar a los seleccionables jQuery UI.
  2. Varios elementos deben poder arrastrarse a la vez.

Necesito la aplicación similar a la funcionalidad de arrastrar y soltar del sistema operativo.

mi problema es si me gustaría seleccionar varios elementos que el puntero del mouse está arrastrando, cómo resolverlos.

Se intentó usar el código pero tiene algunos defectos al seleccionar varios elementos.

$(document).ready(function(){ 

    var selectedClass = 'ui-state-highlight', 
     clickDelay = 600,  // click time (milliseconds) 
     lastClick, diffClick; // timestamps 

    $("#draggable li") 
     // Script to deferentiate a click from a mousedown for drag event 
     .bind('mousedown mouseup', function(e){ 
      if (e.type=="mousedown") { 
       lastClick = e.timeStamp; // get mousedown time 
      } else { 
       diffClick = e.timeStamp - lastClick; 
       if (diffClick < clickDelay) { 
        // add selected class to group draggable objects 
        $(this).toggleClass(selectedClass); 
       } 
      } 
     }) 
     .draggable({ 
      revertDuration: 10, // grouped items animate separately, so leave this number low 
      containment: '.demo', 
      start: function(e, ui) { 
       ui.helper.addClass(selectedClass); 
      }, 
      stop: function(e, ui) { 
       // reset group positions 
       $('.' + selectedClass).css({ top:0, left:0 }); 
      }, 
      drag: function(e, ui) { 
       // set selected group position to main dragged object 
       // this works because the position is relative to the starting position 
       $('.' + selectedClass).css({ 
        top : ui.position.top, 
        left: ui.position.left 
       }); 
      } 
     }); 

    $("#droppable, #draggable") 
     .sortable() 
     .droppable({ 
      drop: function(e, ui) { 
       $('.' + selectedClass) 
       .appendTo($(this)) 
       .add(ui.draggable) // ui.draggable is appended by the script, so add it after 
       .removeClass(selectedClass) 
       .css({ top:0, left:0 }); 
      } 
     }); 

}); 
+0

por favor, ayúdenme –

Respuesta

2

He aquí una demostración de arrastre multiselect

Demo

sólo tiene que utilizar el plugin seleccionable para seleccionar varios elementos

$(".itemlist").selectable({filter:"li"}); 
+3

La función de arrastre en este ejemplo no funciona en el contexto 'arrastrar y soltar'. El ** arrastre ** debería facilitar mover los artículos, no seleccionar los artículos. – Astrotim

+0

Sí, esta no es la respuesta ... – cmcculloh

+1

Esto está empezando a acercarse a una respuesta: http://jsfiddle.net/cmcculloh/8M6qt/ – cmcculloh

0

utilizar el código de ejemplo seleccionable cuadrícula y añadir funcionalidad se pueden arrastrar + Sortable como se muestra en este ejemplo: http://jqueryui.com/demos/draggable/#sortable

+0

Gracias por su atención, pero necesito arrastrar y soltar con multiselección –

+0

Actualice su pregunta con su código y un violín de demostración, para que podamos ayudarlo con su problema. – Alp

+0

se adjuntaron enlaces en la pregunta –

Cuestiones relacionadas