jquery sortable, changing sequence of items -
is possible reorder items in sortable list without dragging them? example if have list of items, 1,2,3, click on link (a button - whatever) , list 3,1,2. maybe shouldn't use "sortable" this?
suppose have following html:
<ul id="sortable" class="ui-sortable"> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 3</li> <li class="ui-state-default" style=""><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 2</li><li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 4</li><li class="ui-state-default" style=""><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 1</li> <li class="ui-state-default" style=""><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 7</li><li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 5</li> <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>item 6</li> </ul>
you can reorder list items without drag , drop calling following function:
function shuffle(){ var mylist = $('ul'); //fetch list. var listitems = mylist.children('li'); //extract listitems it. listitems.sort(function(a,b){ //this function sorts items. var compa = $(a).text().touppercase(); var compb = $(b).text().touppercase(); return (compa < compb) ? -1 : 1; //return -1 or 1 depending upon specific condition. }); $(mylist).append(listitems); }
you can invoke function using simple button like:
<button onclick="shuffle();">reorder</button>
Comments
Post a Comment