Я пытаюсь разрешить пользователю сортировать такую ​​разметку

<div id="steps">
   <div class="sort">
       <span></span>
       <textarea/>
   </div>
   <div class="sort">
       <span></span>
       <textarea/>
   </div>
   <div class="sort">
       <span></span>
       <textarea/>
   </div>
   <div class="sort">
       <span></span>
       <textarea/>
   </div>
</div>

И я пытаюсь вот так:

$('.sort').sortable({placeholder: "ui-state-highlight",helper:'clone'}).disableSelection();

Но у меня очень неожиданное поведение, проверьте:

http://jsfiddle.net/GA4Qs/8/

Как я могу сделать это, чтобы пользователь мог сортировать только по номеру шага? (но отсортируйте весь элемент как блок)

33
Toni Michel Caubet 12 Мар 2012 в 03:29

3 ответа

Лучший ответ

Я считаю, что вам нужна следующая скрипка: http://jsfiddle.net/GA4Qs/13/

JQuery sortable необходимо применить к родительскому элементу, содержащему элементы, которые нужно отсортировать.

$('#psP').sortable({placeholder: "ui-state-highlight",helper:'clone'});

Также вы не закрыли свои div в нужном месте.

<div style="position: relative;" class="sortable">
        <span class="stepNum inset">1</span>
        <textarea placeholder="Escribe que hay que hacer en este paso" class="step valid"></textarea>
</div>

Не

<div style="position: relative;" class="sortable">
        <span class="stepNum inset">1</span>
        <textarea placeholder="Escribe que hay que hacer en este paso" class="step valid"></textarea>
<div style="position: relative;" class="sortable">
28
Leonard Garvey 11 Мар 2012 в 23:44

Вы превращаете .sort в сортируемый, когда .sortable () должен вызываться для контейнера элементов, которые вы хотите отсортировать. Ваш код создает 5 отдельных сортируемых списков.

Переключитесь на выбор на основе родительского контейнера, и он работает:

http://jsfiddle.net/vRCp8/1/

6
Magneon 11 Мар 2012 в 23:40

Этот у меня отлично работает. Я изменил ваш селектор, чтобы использовать имя класса "nubeT"

$(function() {

    $('.nubeT').sortable({
        placeholder: "ui-state-highlight",
        helper: 'clone'
    });

});​

http://jsfiddle.net/GA4Qs/11/

1
Shyju 11 Мар 2012 в 23:39