Me gustaría tener dos listas, elementos disponibles y elementos seleccionados, mediante los cuales los elementos disponibles se asignan a los elementos seleccionados mediante arrastrar y soltar. Requiero que los elementos seleccionados sean ordenables, pero no los artículos disponibles. El desafío es que ambas listas pueden contener una cantidad importante de elementos y, por lo tanto, deben ser desplazables.jQuery Draggable + ordenable: cómo arrastrar y soltar entre dos listas desplegables
Aquí está el jQuery que tengo hasta el momento:
<script type="text/javascript">
$(function() {
$("#available > li").draggable({
revert: 'invalid',
connectToSortable: '#selected',
containment: '#drag_container'
});
$("#selected").sortable({
axis: 'y',
placeholder: 'ui-state-highlight'
});
});
</script>
Y el HTML correspondiente:
<div class="drag_container">
<ul id="available" class="drag_column draggable">
<li id="item1" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 1</li>
<li id="item2" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 2</li>
<li id="item3" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 3</li>
<li id="item4" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 4</li>
<li id="item5" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 5</li>
<li id="item6" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 6</li>
<li id="item9" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 9</li>
<li id="item10" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 10</li>
</ul>
<ul id="selected" class="drag_column draggable sortable" style="margin-left: 20px;">
<li id="item7" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 7</li>
<li id="item8" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 8</li>
<li id="item9" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 9</li>
<li id="item10" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 10</li>
<li id="item11" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 11</li>
<li id="item12" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 12</li>
<li id="item13" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 13</li>
<li id="item14" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 14</li>
<li id="item15" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 15</li>
<li id="item16" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 16</li>
<li id="item17" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 17</li>
<li id="item18" class="ui-state-default"><span class="ui-icon ui-icon-arrow-4-diag"></span>Item 18</li>
</ul>
<div style="clear: both"> </div>
</div>
Con el requisito de lista desplazable, sin embargo, no puedo obtener el comportamiento que pueden arrastrarse a trabajar elegantemente (vea la demostración en http://pastehtml.com/view/1bsk6bt.html).
Una vez que el elemento que se está arrastrando entra en la lista de Elementos disponibles, desaparece detrás del marco desplazable. Probé el clon helper y también intenté jugar con el contenido de divs, diferentes opciones de desbordamiento, desactivar la opción de desplazamiento en jQuery, pero no puedo hacer que funcione correctamente. Estoy seguro de que alguien ha logrado algo como lo que estoy intentando hacer aquí y puede ahorrarme algo de tiempo. :)
¡Cualquier ayuda sería muy apreciada!
Entonces ¿por qué no aparece el rollo?si tiene más elementos que la vista, no puede desplazarse para verlos. – PartySoft