2012-08-22 56 views
16

我正在使用jQuery-UI可排序組件拖動表格行。由於我的要求,我在拖動過程中創建了一個輔助元素來保存多行。使用jQuery-UI排序控制佔位符高度

我似乎有這個工作,但在當前拖動位置插入的空白空間只有足夠高的單行。任何人都可以看到爲什麼佔位符不像我拖動的內容那樣高嗎?

我試圖在被拖動的父元素中設置style="height:auto",但這沒有效果。

我已將我的代碼發佈在jsFiddle上http://jsfiddle.net/jCNcv/。如果您嘗試向下拖動頂部項目,則可以看到拖動位置下的空白佔位符對於單個行僅夠高。

+0

它看起來像你正在嘗試做一些表格嵌套sortables的? http://stackoverflow.com/questions/3308672/sortable-nested-lists-with-jquery-ui-1-8-2 – Nal

+0

不,不是嵌套的排序。只有具有*邏輯*父/子關係的可排序錶行。它們以常規行的形式實現。 –

回答

59

佔位符只是一行的高度,因爲每個可排序項只有一行。您可以將啓動事件期間的佔位符高度設置爲助手元素的高度。

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

更新的jsfiddle http://jsfiddle.net/jCNcv/2/

+0

完美地工作。我更改了使用ui.helper.height()而不是outerHeight(),因爲我希望佔位符與拖動項目的高度相同。 –