Je voudrais avoir deux listes, Articles disponibles et Articles sélectionnés, où les Articles disponibles sont assignés aux Articles sélectionnés par glisser-déposer. Je demande que les éléments sélectionnés soient triés, mais pas les éléments disponibles. Le défi est que les deux listes peuvent potentiellement contenir un nombre important d'éléments, et doivent donc être défilables.jQuery Dragable + Sortable - Comment faire glisser et déposer entre deux listes déroulantes
Voici le jQuery je jusqu'ici:
<script type="text/javascript">
$(function() {
$("#available > li").draggable({
revert: 'invalid',
connectToSortable: '#selected',
containment: '#drag_container'
});
$("#selected").sortable({
axis: 'y',
placeholder: 'ui-state-highlight'
});
});
</script>
Et le code HTML correspondant:
<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>
Avec l'exigence de liste déroulante, cependant, je ne peux pas obtenir le comportement draggable travailler élégamment (voir la démo au http://pastehtml.com/view/1bsk6bt.html).
Une fois que l'élément glissé est entré dans la liste Éléments disponibles, il disparaît derrière le cadre défilable. J'ai essayé l'assistant clone, et j'ai aussi essayé de jouer avec des divs, des options de débordement différentes, en désactivant l'option de défilement dans jQuery, mais je n'arrive pas à le faire fonctionner correctement. Je suis sûr que quelqu'un là-bas a accompli quelque chose comme ce que j'ai l'intention de faire ici et peut me sauver un peu de temps? :)
Toute aide serait grandement appréciée!
Alors pourquoi le défilement ne semble pas?Si vous avez plus d'éléments que la vue, vous ne pouvez pas les faire défiler. – PartySoft