Nehmen wir an, ich habe eine Tabelle, die jQuery sortierbar verwendet. Wie kann ich den innerHTML einer Zeile beim Ziehen mit der innerHTML einer anderen Zeile austauschen und dann die Reihenfolge beim Senden speichern, ohne ".toArray()" oder ".serialize()" zu verwenden. Ich habe es zum Beispiel geschafft, die Reihenfolge zu speichern, ohne ".toArray()" oder ".serialize()" zu verwenden, indem ich innerHTML mit den Nach-oben- und Nach-unten-Tasten auswertete.Wie kann ich die Reihenfolge der Zeilen einer Tabelle mit jQuery sortierbar ohne Verwendung von ".toArray()" oder ".serialize()" speichern?
jQuery(function() {
var ids = [];
$("tbody#sortable").sortable({
axis: "y",
items: ".row_order",
forcePlaceholderSize: true,
placeholder: "must-have-class",
start: function(event, ui) {
//Empty the array to avoid duplication.
ids = [];
//Store the ids in the array.
$.each(event.target.children, function() {
ids.push($(this).attr('id'));
});
},
update: function(event, ui) {
//Store the html in local variables
var prevHtml = ui.item.prev().html();
var nextHtml = ui.item.next().html();
//Call .html and pass the html content as an argument
ui.item.prev().html(nextHtml);
ui.item.next().html(prevHtml);
//On an update, loop through the sortable items and reset their items.
for (var i = 0; i < event.target.children.length; i++) {
$(event.target.children[i]).attr('id', ids[i]);
}
}
});
});
Dies ist die Fiddle
Das würde komplexere Funktionalität erfordern. Abonnieren des Startereignisses und Speichern von IDs in Variablen. – Yass
Ja. Oder Sie könnten den inneren Inhalt sortierbar machen. Ich werde versuchen, mit einem Beispiel zu aktualisieren. – Yass
Es war ein Beispiel, das ich vorher gespeichert hatte. – Yass