2012-08-22 3 views
16

Ich verwende die sortierbare jQuery-UI-Komponente zum Ziehen von Tabellenzeilen. Aufgrund meiner Anforderungen, erstelle ich ein Helfer-Element, um mehrere Zeilen während des Ziehens zu halten.Platzhalterhöhe mit jQuery-UI steuern Sortierbar

Ich scheine, das funktioniert, aber der leere Platz an der aktuellen Ziehposition ist nur groß genug für eine einzelne Zeile. Kann jemand sehen, warum der Platzhalter nicht so groß ist wie der Inhalt, den ich schleppe?

Ich habe versucht, style="height:auto" in das übergeordnete Element gezogen werden, aber dies hat keine Auswirkungen.

Ich habe meinen Code auf jsFiddle um http://jsfiddle.net/jCNcv/ veröffentlicht. Wenn Sie versuchen, das oberste Element nach unten zu ziehen, können Sie sehen, dass der leere Platzhalter unter der Ziehposition nur groß genug für eine einzelne Zeile ist.

+0

Es sieht aus wie Sie irgendeine Form von verschachtelten sortables versuchen zu tun? http://StackOverflow.com/Questions/3308672/Sortable-Nested-Lists-with-Jquery-Ui-1-8-2 – Nal

+0

Nein, nicht geschachtelte Sortierbar. Nur sortierbare Tabellenzeilen mit * logischen * Eltern/Kind-Beziehungen. Sie sind als normale Zeilen implementiert. –

Antwort

59

Der Platzhalter ist nur die Höhe einer Zeile, da jedes sortierbare Element nur eine Zeile enthält. Sie können die Platzhalterhöhe während des Startereignisses auf die Höhe Ihres Hilfselements festlegen.

start: function(e, ui){ 
    ui.placeholder.height(ui.helper.outerHeight()); 
}, 

Aktualisiert jsfiddle http://jsfiddle.net/jCNcv/2/

+0

Funktioniert perfekt. Ich habe geändert, um die ui.helper.height() anstelle von outerHeight() zu verwenden, weil ich wollte, dass der Platzhalter die gleiche Höhe wie das ziehende Element hat. –