2013-06-27 38 views
6

Tôi đang làm việc với plugin sắp xếp knockout.js; tuy nhiên, tôi gặp phải một vấn đề mà tôi đã không thể giải quyết được. Tôi có hai bindable sortable, một cho buckets và một cho bucketItems. Tôi có thể sắp xếp lại bucketItem giữa các nhóm; tuy nhiên, tôi không thể sắp xếp lại các nhóm. Bạn có bất kỳ ý tưởng tại sao điều này sẽ được? Tôi cũng đang sử dụng lồng nhau với các ràng buộc, nhưng theo như tôi có thể nói, đây không phải là những gì đang gây ra vấn đề.Knockout.js liên kết có thể sắp xếp lồng nhau

Tôi rất cảm kích mọi thông tin chi tiết mà bạn cung cấp.

+0

xin vui lòng gửi của bạn mã và plugin bạn đang sử dụng –

+0

do một số lý do nhất định, tôi không thể đăng mã của mình; tuy nhiên, tôi đã có thể thu hẹp phạm vi vấn đề của mình. tôi có một loạt các bucketIds và khi tôi áp dụng sortable cho nó, nó không ràng buộc chính xác. Thật không may, tôi vẫn không biết tại sao nó sẽ không ràng buộc. (Tôi đang sử dụng plugin knockout.js-sortable được tạo bởi ryan neimeyer) – user2391998

Trả lời

8

Tôi không biết cấu trúc chính xác của bạn, nhưng bạn có thể sử dụng tùy chọn connectClass để kiểm soát danh sách có thể sắp xếp nào được kết nối. Ví dụ: nếu bạn đã thực hiện việc này:

<ul data-bind="sortable: { data: buckets, connectClass: 'buckets' }"> 
    <li> 
     <span data-bind="text: name"></span> 
     <ul data-bind="sortable: { data: items, connectClass: 'items' }"> 
      <li data-bind="text: name"></li> 
     </ul> 
    </li> 
</ul> 

Bạn chỉ có thể thả một xô vào thùng và một mục trong các mục. Plugin tự động thêm lớp vào phần tử cha.

Đây là một mẫu: http://jsfiddle.net/rniemeyer/YaLgL/

Nếu bạn không muốn để có thể sắp xếp các mục giữa xô, sau đó bạn có thể áp dụng một độc đáo connectClass từng như:

http://jsfiddle.net/rniemeyer/czNe8/

+0

Làm thế nào để bạn có được điều này để làm việc khi bạn không muốn một mục để được sắp xếp nhưng những người khác được? Tôi đã cố gắng sử dụng điều này mặc dù mục không thể sắp xếp lại, toàn bộ phụ huynh UL di chuyển khi tôi cố gắng và điều đó lần lượt làm cho LI cha mẹ của UL được sắp xếp lại (kỳ lạ của nó). – Phil

+0

@ Phil- bạn có thể đặt những gì bạn đang cố gắng làm trong một jsFiddle với một số ghi chú? Có khả năng một cách để làm cho nó hoạt động, nhưng tôi không tích cực rằng tôi đang ở trên đầu trang của kịch bản của bạn. Cảm ơn! –

+0

Tôi đã thêm một fiddle: http: //jsfiddle.net/zoldello/8hvXN/2/ Điều đang xảy ra là khi tôi cố gắng di chuyển mục KHÔNG PHẢI, toàn bộ mục được chọn. Hãy thử giữ chuột của bạn trên không di chuyển và thông báo di chuyển toàn bộ container. Có cách nào để ngăn chặn vấn đề này không? – Phil

Các vấn đề liên quan