2013-11-11 3 views
0

Я смотрю на этот «Sortable example» и я могу видеть, что пользователь имеет возможность повторно организовать номера, источник для приведенного выше примера:Отключить сортировку из сортировки списка

<!doctype html> 
    <html lang="en"> 
<head> 
    <meta charset="utf-8" /> 
    <title>jQuery UI Sortable - Display as grid</title> 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" /> 
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> 
    <link rel="stylesheet" href="/resources/demos/style.css" /> 
    <style> 
    #sortable { list-style-type: none; margin: 0; padding: 0; width: 450px; } 
    #sortable li { margin: 3px 3px 3px 0; padding: 1px; float: left; width: 100px; height: 90px; font-size: 4em; text-align: center; } 
    </style> 
    <script> 
    $(function() { 
    $("#sortable").sortable(); 
    $("#sortable").disableSelection(); 
    }); 
    </script> 
</head> 
<body> 

<ul id="sortable"> 
    <li class="ui-state-default">1</li> 
    <li class="ui-state-default">2</li> 
    <li class="ui-state-default">3</li> 
    <li class="ui-state-default">4</li> 
    <li class="ui-state-default">5</li> 
    <li class="ui-state-default">6</li> 
    <li class="ui-state-default">7</li> 
    <li class="ui-state-default">8</li> 
    <li class="ui-state-default">9</li> 
    <li class="ui-state-default">10</li> 
    <li class="ui-state-default">11</li> 
    <li class="ui-state-default">12</li> 
</ul> 


</body> 
</html> 

это возможно сортируйте этот пример, чтобы он сортировал числа от наименьшего до самого большого и не позволял пользователю переупорядочивать номера? например, если я попытаюсь перетащить 12 и поместить его до 1, он автоматически вернется в исходное место.

Спасибо

ответ

0

Не называйте сортировкой, просто отсортировать список в обратном порядке. Функция сортировки позволяет пользователю перетаскивать элемент. Если вы не вызывали disableSelection, тогда их элементы в списке были бы выбраны.

$(function() { 
    try { 
      var html = $('#sortable').html(); 
      var arr = html.split('</li>'); 
      html = ''; 
      for (var i = arr.length - 1; i >= 0; --i) { 
        html += arr[i] + "</li>"; 
      } 
      $('#sortable').html(html); 
    } catch (e) { 
      alert(e); 
    } 

});

Смежные вопросы