2012-08-22 6 views
16

Tôi đang sử dụng thành phần có thể sắp xếp jQuery-UI để kéo các hàng của bảng. Vì yêu cầu của tôi, tôi đang tạo một phần tử trợ giúp để giữ nhiều hàng trong khi kéo.Kiểm soát chiều cao trình giữ chỗ với jQuery-UI có thể sắp xếp

Tôi dường như đã làm việc này, nhưng không gian trống được chèn tại vị trí kéo hiện tại chỉ đủ cao cho một hàng duy nhất. Có ai có thể thấy tại sao trình giữ chỗ không cao bằng nội dung tôi đang kéo không?

Tôi đã thử đặt style="height:auto" trong phần tử gốc đang được kéo nhưng điều này không có hiệu lực.

Tôi đã đăng mã của mình trên jsFiddle tại http://jsfiddle.net/jCNcv/. Nếu bạn thử kéo mục trên cùng xuống dưới, bạn có thể thấy rằng trình giữ chỗ trống bên dưới vị trí kéo chỉ đủ cao cho một hàng duy nhất.

+0

Dường như bạn đang cố gắng làm một số hình thức sortables lồng nhau? http://stackoverflow.com/questions/3308672/sortable-nested-lists-with-jquery-ui-1-8-2 – Nal

+0

Không, không thể sắp xếp lồng nhau. Chỉ cần sắp xếp các hàng trong bảng có các mối quan hệ * logic * cha/con. Chúng được thực hiện như các hàng thông thường. –

Trả lời

59

Trình giữ chỗ chỉ là chiều cao của một hàng bởi vì mỗi mục có thể sắp xếp chỉ là một hàng. Bạn có thể đặt chiều cao trình giữ chỗ trong sự kiện bắt đầu với chiều cao của phần tử trợ giúp của bạn.

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

Cập nhật jsfiddle http://jsfiddle.net/jCNcv/2/

+0

Hoạt động hoàn hảo. Tôi đã thay đổi để sử dụng ui.helper.height() thay vì outerHeight() vì tôi muốn người giữ chỗ có cùng chiều cao với mục kéo. –