我在頁面上有幾個可排序的表格。他們中的大多數都連接在一起,但只能拖出,但不能。我似乎無法將項目拖入其中一個空的表格中。jQuery UI Sortable - connectWith當連接項目爲空時有困難
這裏是一個的jsfiddle:http://jsfiddle.net/jasonbutz/ZLzU3/2/
編輯:
此外,其隱藏的<tr>
似乎並沒有什麼幫助。
我在頁面上有幾個可排序的表格。他們中的大多數都連接在一起,但只能拖出,但不能。我似乎無法將項目拖入其中一個空的表格中。jQuery UI Sortable - connectWith當連接項目爲空時有困難
這裏是一個的jsfiddle:http://jsfiddle.net/jasonbutz/ZLzU3/2/
編輯:
此外,其隱藏的<tr>
似乎並沒有什麼幫助。
JQuery UI排序似乎有麻煩時,使用可連接的列表/表使用可排序的表體。實現這一目標的另一種方法是將表格本身設置爲可排序的容器,並將其設置爲可排序的,在這種情況下,我們只需要tr
中的而不是thead
中的tr
。這裏的工作示例如下:http://jsfiddle.net/ZLzU3/62/
Xnake的答案解決了一個問題(並非常感謝他),但創建了一個自己的問題:如果您在兩個包含內容的表之間移動項目,則移動的項目將始終纏在你添加它的桌子底部。如果這就是你要找的行爲,那很好,但如果沒有,則需要更換自己的接收處理程序:
function(e, ui)
{
$(this).find("tbody").append(ui.item);
}
有:
function(e, ui)
{
var collection = $(this).find("tbody tr");
if(collection.length < 1)
{
$(this).find("tbody").append(inserted);
}
else
{
$(ui.placeholder).replaceWith(inserted);
}
}
它保留了他的錯誤,殺害行爲的空表,但是當表中有項目時,保留小部件的默認行爲。
可能有更好的方法來做到這一點;我一直無法找到任何令人滿意的方式來調用覆蓋內的默認功能,這將是理想的。
「插入」來自哪裏?沒有定義... – user1987392
我對派對有點遲到,但在我的情況下,我沒有表頭,這對我來說是一個問題。另外,我用兩種方式實現了這一點。這裏是我做到了,爲我工作:
https://devstuffs.wordpress.com/2015/07/31/jquery-ui-sortable-with-connected-tables-and-empty-rows/
非常感謝您 – Jason
'得到:函數(即,UI){ '如果($( 'TBODY TR',這一點)。長度= =(0){ '$(this).find(「tbody」)。append(ui.item); '} '} 這使得功能更準確。 –