Disons que j'ai une table qui utilise jquery triable. Comment puis-je obtenir innerHTML d'une ligne à échanger avec innerHTML d'une autre ligne quand il est déplacé, puis enregistrez l'ordre sur submit sans utiliser ".toArray()" ou ".serialize()". Par exemple, j'ai réussi à enregistrer la commande sans utiliser ".toArray()" ou ".serialize()" en utilisant les boutons haut et bas pour échanger innerHTML.Comment puis-je sauvegarder l'ordre des lignes d'une table en utilisant jquery sortable sans utiliser ".toArray()" ou ".serialize()"?
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]);
}
}
});
});
C'est le Fiddle
Cela nécessiterait une fonctionnalité plus complexe. Abonnement à l'événement de démarrage et stockage des identifiants dans les variables. – Yass
Oui. Ou vous pourriez rendre le contenu interne triable. Je vais essayer de mettre à jour avec un exemple dans un peu. – Yass
C'était un exemple que j'avais enregistré précédemment. – Yass