Этот пост был очень полезным. Если вам нужна дополнительная помощь, вот как я ее получил (используя haml-rails). Использование функции toArray немного отличается. Если вы используете `serialize ', вам придется снова установить атрибут как' data-item =" data-item _ # {id} '.
Спасибо, Интернет, за то, что вы знаете так много программных решений.
:css
#sortable { list-style-type: none; margin: 40 20; padding: 0; width: 500; }
#sortable li { margin: 0 3px 3px 3px; padding: 0.4em; padding-left: 1.5em; font-size: 1.4em; height: 18px; }
#sortable li span { position: absolute; margin-left: -1.3em; }
:javascript
$(function() {
$( "#sortable" ).sortable({
update: function( event, ui ) {
var data = $("#sortable").sortable('toArray', {attribute: "data-item"});
// return ids in order after update
//alert(JSON.stringify(data));
$.ajax({
type: "PATCH",
async: true,
url: "/calendar/update_order.json",
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json',
error: function(data) { return false; },
success: function(data) { return false; }
});
}
});
$( "#sortable" ).disableSelection();
});
#sort_tickets
%ul#sortable
- @tickets.each do |ticket|
%li.ui-state-default(data-item="#{ticket.id}")<
%span.ui-icon.ui-icon-arrowthick-2-n-s<
= ticket.customer