Ich verwende JQuery UI zum Sortieren von Listenelementen in meinem Django-Projekt. Es funktioniert gut, aber wenn in der Liste nur ein Artikel, stehlen sortierbar. Der Benutzer kann das eine Element ziehen und ablegen. Wie kann die Sortierung deaktiviert werden, wenn nur ein Element in der Liste (#slides) vorhanden ist?Wie kann die Sortierung in JQuery UI deaktiviert werden?
JS:
$(function() {
$("#slides").sortable({
start: function (event, ui) {
ui.placeholder.height(ui.item.height());
},
stop: function(event, ui) {
slide_order = {};
$("#slides").children().each(function(){
slide_order[$(this).data('id')] = $(this).index();
});
$.ajax({
url: "sorting/",
type: "post",
contentType: 'application/json; charset= utf-8',
dataType: 'json',
data: JSON.stringify(slide_order)
});
},
});
$('#slides .list-group-item').click(function() {
$("#slides").sortable("refresh");
});
});
Ihr Code funktioniert mit einigen Problemen. Nehmen wir an, ich habe einen Gegenstand in der Liste und füge dann einen neuen Gegenstand hinzu, beide wurden unortbar. Ich brauche Liste aktualisieren, denke ich. Hast du Ideen, wie du es machen kannst? Überprüfen Sie meinen Beitrag erneut bitte. Ich aktualisiere es mit wenig Code. '$ (" # slides ") .sortierbar (" refresh ");' funktioniert nicht. –
@NurzhanNogerbek Überprüfen Sie die aktualisierte Antwort. Nach dem Refresh Reset 'disabled' Option –
click event hier ist nicht korrekt Ursache Benutzer beim Start brauchen Doppelklick auf Element. Erst danach funktioniert das Skript. Ich habe Touch Event versucht, aber es funktioniert nicht. '$ ('# slides'). on ('touchstart', function() {***});' Wir brauchen eine Aktualisierungsliste, wenn ein Element der Benutzerberührungsliste angezeigt wird. Hast du noch andere Ideen? –