Спасибо большое за варианты!
Воспользовавшись ими и еще 1 темой с этого форума получилось нечто такое.
$("#rrr").toggle(function(){
//здесь хранятся объекты
var trs = new Array();
//Здесь хранится список названий объектов
var seq = new Array();
var i = 0;
$("ul#sortable li").each(function() {
seq[i]=$("ul#sortable li:eq(" + i + ") .name").html();
trs[seq[i]] = $("ul#sortable li:eq(" + i + ")");
i ++;
});
//сортируем список названий объектов
seq.sort()
var o=seq.length;
for (a = -1; a < seq.length; a++){
var tr=trs[seq[o]]
if (typeof(tr) != 'undefined') {
tr.insertAfter($("ul#sortable li:eq(" + a + ")"));
}
o--;
}
return false;
},
function(){
var trs = new Array();
var seq = new Array();
var i = 0;
$("ul#sortable li").each(function() {
seq[i]=$("ul#sortable li:eq(" + i + ") .name").html();
trs[seq[i]] = $("ul#sortable li:eq(" + i + ")");
i ++;
});
seq.sort()
var o=0;
for (a = -1; a < seq.length-1; a++){
var tr=trs[seq[0]]
if (typeof(tr) != 'undefined') {
tr.insertAfter($("ul#sortable li:eq(" + a + ")"));
}
o++
}
return false;
});
И того должна получиться сортировка по возрастанию и убыванию.
Но почему то исчезает самый маленький элемент.
Я думаю что он просто не вставляется здесь tr.insertAfter($("ul#sortable li:eq(" + a + ")"));
Но как я не мучался, ничего не получается. Может вы подскажете что я не так делаю?