2012-08-22 2 views
16

Sto utilizzando il componente ordinabile jQuery-UI per trascinare le righe della tabella. A causa delle mie esigenze, sto creando un elemento di supporto per contenere più righe durante il trascinamento.Controllo dell'altezza segnaposto con jQuery-UI ordinabile

Mi sembra che funzioni, ma lo spazio vuoto inserito nella posizione di trascinamento corrente è alto solo per una singola riga. Qualcuno può vedere perché il segnaposto non è alto come il contenuto che sto trascinando?

Ho provato a impostare style="height:auto" nell'elemento padre trascinato ma questo non ha alcun effetto.

Ho postato il mio codice su jsFiddle al http://jsfiddle.net/jCNcv/. Se provi a trascinare verso il basso l'elemento in alto, puoi vedere che il segnaposto vuoto sotto la posizione di trascinamento è alto solo per una singola riga.

+0

Sembra che si sta tentando di fare una qualche forma di sortables annidati? http://stackoverflow.com/questions/3308672/sortable-nested-lists-with-jquery-ui-1-8-2 – Nal

+0

No, non nocciolabili non nidificati. Solo righe di tabella ordinabili con relazioni * logiche * parent/child. Sono implementati come righe regolari. –

risposta

59

Il segnaposto è solo l'altezza di una riga perché ogni elemento ordinabile è solo una riga. Puoi impostare l'altezza del segnaposto durante l'evento di inizio all'altezza dell'elemento di supporto.

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

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

+0

Funziona perfettamente. Ho cambiato l'uso di ui.helper.height() invece di outerHeight() perché volevo che il segnaposto fosse della stessa altezza del trascinamento. –