164 Stimmen

jquery UI Sortable mit Tabelle und tr Breite

Ich verwende jQuery UI sortable, um mein Tabellengitter sortierbar zu machen. Der Code scheint gut zu funktionieren, aber weil ich nicht hinzufügen Breite zu td s, wenn ich die tr wird der Inhalt verkleinert.

Zum Beispiel, wenn meine Tabelle Zeile 500px ist, wenn ich anfangen zu ziehen, wird es 300px. Ich nehme an, dass das passiert, weil keine Breite im Raster definiert ist. Das liegt daran, dass ich zwei Klassen für die td s ( fix y liquid ).

El fix Klasse macht die td gleich der Breite des Inhalts und liquid macht die td Breite 100%. Das ist mein Ansatz für eine Rastertabelle, ohne dass man die Breite der td s.

Irgendeine Idee, wie man sortable mit meinem Ansatz arbeiten zu machen?

-2voto

Peter Punkte 1
$(function() {
    $( "#sort tbody" ).sortable({
        update: function () {
                                var order = $(this).sortable("toArray").join();
                                $.cookie("sortableOrder", order);
                        }
    });
    if($.cookie("sortableOrder")){
        var order = $.cookie("sortableOrder").split(",");
        reorder(order, $("#sort tbody"));
    }
    function reorder(aryOrder, element){
      $.each(aryOrder, function(key, val){
              element.append($("#"+val));
      });
    }
  });

-4voto

Regis Zaleman Punkte 2992

Wenden Sie die Sortierfunktion auf das tbody-Element der Tabelle an und setzen Sie die Hilfsfunktion einfach auf 'clone', wie in jquery-ui's API

$("$my-table-tbody").sortable({
    helper: "clone"
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X