jquery - JQueryui - Manage connected sortable lists forcing only one element by list -
i'm using jqueryui connected sortable lists , drop elements when connected list empty, have force user add maximum 1 element. using jquery droppable not allowed.
so, how can manage jqueryui connected list restrict number of elements inside? want sortable1 , sortable2 accept 1 element sortable0.
<ul id="sortable0" class="connectedsortable"> <li> word1 </li> <li> word2 </li> <li> wordn </li> </ul> <ul id="sortable1" class="connectedsortable"> </ul> <ul id="sortable2" class="connectedsortable"> </ul> $(function() { $( "#sortable0, #sortable1, #sortable2" ).sortable({ connectwith: ".connectedsortable" }); });
thanks in advance.
you use solution this
$("#sortable0, #sortable1, #sortable2").sortable({ connectwith: "#sortable0, .connectedsortable:not(:has(li))" });
this enables move 1 element #sortable0
#sortable1
or/and #sortable2
. can move them #sortable0
. or move e.g. #sortable1
#sortable2
if #sortable2
still empty
check test case
the selector wrote in connectwith
evaluated everytime drag element around. if sortable1/2
contain element aren't marked connectwith
, aren't available target. if need more fine tuned control e.g. sortable0
accepting number of elements, sortable1
0 or 1 , sortable2
0 or 1 or 2 elements can use
$("#sortable0, #sortable1, #sortable2").sortable({ connectwith: "#sortable0, #sortable1:not(:has(li)), #sortable2:not(:has(li:eq(1)))" });
edit: striked out code doesn't work need it
Comments
Post a Comment