0

我正在查看这个“可排序示例”,我可以看到用户能够重新排列数字,即上述示例的来源:

  <!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 之前,它会自动回到原来的位置。

谢谢

4

1 回答 1

0

不要调用 sortable,只需按相反的顺序对列表进行排序。可排序功能允许用户拖动项目。如果您没有调用 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);
    }

});

于 2013-11-11T07:17:00.673 回答