2016-05-09 3 views
0
<div id="chapters"> 

{% for chapter in chapters %} 
    <div id="chapter-{{ forloop.counter }}"> 
     <legend>Chapter{{ forloop.counter }}</legend> 
     <label for="id_subtitle">Subtitle:</label> 
     <input id="id_subtitle" maxlength="255" name="subtitle" type="text" value="{{chapter.subtitle}} "> 
     <label for="id_content">Content:</label> 
     <input id="id_content" maxlength="255" name="content" type="text" value="{{chapter.content}} "> 
     <label for="id_upload">File:</label> 
     <a href="/media/{{chapter.upload}}">view</a> 
      <a class="btn btn-primary" href="{% url "chapters-edit" pk=chapter.pk %}">Edit chapter</a> 
    </div> 
{% endfor %} 
</div> 
$(function() { 
$('[id^="chapter-"]').draggable({ 
    // appendTo: "body", 
    // helper: "clone" 
}); 
$("#chapters").droppable({ 
    activeClass: "ui-state-default", 
    hoverClass: "ui-state-hover", 
    drop: function(event, ui) { 
    } 

}).sortable({ 
    placeholder: "ui-state-highlight", 
    helper:'clone', 
    stop: function(e, ui) { 
    console.log($('#sortable').sortable('toArray')); 
    } 
}); 

}); Jquery сортируется не работает должным образом

Я могу перетаскивать главы, но они не сортируются ... и я могу отбросить их в любом месте страницы, которая также может произойти. Что я делаю не так? TY

+1

Что вы пробовали до сих пор? Вы получаете сообщения об ошибках? Вы пробовали отладку? Откуда у вас код? Это все вопросы, которые помогают нам ответить на ваш вопрос и помочь вам. –

+0

Я получил его из исходного кода из jquery dropable example of shopping shopping. Когда я удаляю draggable и droppable, это похоже на работу, но это только сортирует заголовок, а не целую форму .. никаких ошибок .. – ssapp

+0

Итак, удаление draggable и droppable действительно заставило его работать .. почему? Я следовал этому примеру: https://jqueryui.com/droppable/#shopping-cart Как я могу сделать, что главы изменят номер после их перегруппировки? И как я могу сохранить новый порядок, чтобы при перезагрузке страницы я получил новый заказ? – ssapp

ответ

1

draggable() Снимите и droppable():

$(function() { 
    $("#chapters").sortable({ 
    placeholder: "ui-state-highlight", 
    helper: 'clone', 
    stop: function(e, ui) { 
     console.log($('#sortable').sortable('toArray')); 
    } 
    }); 
}); 
+0

Это сделало трюк. Не могли бы вы объяснить, почему он не работал на первом месте? Я следую этому примеру: jqueryui.com/droppable/#shopping-cart. Как я могу сделать, что главы изменят номер после их перегруппировки? И как я могу сохранить новый порядок, чтобы при перезагрузке страницы я получил новый заказ? – ssapp

+0

btw Я работаю в Django. console.log ($ ('# главы') сортируется ('ToArray').); печатает меня новый порядок, как я могу сохранить этот заказ? – ssapp

+0

@ssapp Ваш код перепутал сортировку, потому что сортируемые элементы сделаны перетаскиваемыми и всплывающими внутри. Явно их инициализация как таковая, вероятно, беспорядок. Что касается других вещей, сделайте одну вещь за раз, задайте 1 вопрос за сообщение. –

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