Dans un tableau html, j’ai dans chaque ligne une cellule avec son propre numéro de position. Comment actualiser correctement ce numéro de position après le sorting avec jQueryUI?
Ceci est mon simple HTML:
Position number Name 1 Text 2 Text
Et voici mon js:
var fixHelper = function(e, ui) { ui.children().each(function() { $(this).width($(this).width()); }); return ui; }; $("table tbody").sortable({ helper: fixHelper }).disableSelection();
Maintenant, je voudrais changer l’ordre correctement les valeurs de numéro de position après le sorting complet.
Comment puis-je faire cela?
Toute aide serait appréciée.
Procédez comme suit après le sorting.
$("table tbody").sortable({ update: function(event, ui) { $('table tr').each(function() { $(this).children('td:first-child').html($(this).index()) }); }, helper: fixHelper }).disableSelection();
vous pouvez essayer (non testé): au lieu de $('table tr').each
utiliser $(this).parents('table').find('tr').each
Explication. Il parcourt chacune des balises tr
de la table, puis modifie le contenu du premier td-child
avec la valeur d’index tr
Si quelqu’un a aimé la réponse ci-dessus comme moi, voici le Coffeescript
jQuery -> $("ul.sortableEdit").sortable stop: (event, ui) -> $('ul.sortableEdit li').each( -> $(this).children('input.sortableItemPos').val($(this).index()) )