Có, tôi biết có một số lô của các chương trình JS/jQuery để thực hiện việc này. Tôi hiện đang sử dụng http://www.kryogenix.org/code/browser/sorttable/sorttable.js. Nó rất dễ dàng: chỉ là một tệp JS, thêm một vài thuộc tính lớp vào bảng của bạn và bạn tắt. Đặc biệt, bạn không thực sự cần biết JS để sử dụng nó, và bạn có thể thêm các phím sắp xếp tùy chỉnh mà không cần phải viết JS của riêng bạn để mở rộng nó. Tôi thích nó rất nhiều vì hai lý do đó. Vấn đề chính: bảng của tôi là ~ 9300 hàng dài, và phân loại mất 10-20 giây. Vì vậy, tôi tự hỏi, có bất kỳ kịch bản khác ra có nhanh hơn này? Đây là những cái tôi đã tìm thấy:Sắp xếp bảng HTML nhanh?
http://webfx.eae.net/dhtml/sortabletable/sortabletable.html (Thậm chí chắc chắn những gì này sử dụng)
http://tablesorter.com/docs/ (Really thật sự tốt đẹp, nhưng không dễ dàng để mở rộng, đòi hỏi phải biết JS/jQuery) http://flexigrid.info/ (Overkill, tôi chỉ cần một sorter bảng, không phải là một chương trình thao tác dữ liệu toàn bộ)
http://datatables.net/ (Overkill, đòi hỏi Js/jQuery để mở rộng)
tôi chắc chắn rằng có 5000 chương trình khác có thể làm những gì tôi muốn, nhưng tôi không có thời gian để tìm ra và kiểm tra tất cả để xem họ có nhanh không. Vì vậy, tôi muốn biết nếu có ai đó ở đó trên StackOverflow có thể chỉ cho tôi đến thư viện nào họ biết là nhanh, vì vậy tôi chỉ phải tìm ra cách sử dụng một chương trình.
(Btw, tôi đã nhìn thấy Java hàng trăm loại hàng ngàn con số trong mili giây với quicksort; không ai biết những gì thuật toán JS.sort() sử dụng?)
bạn đã gắn thẻ này với jquery nhưng có vẻ như bạn muốn tránh sự phụ thuộc đó ... theo cách nào? –
Chắc chắn, java có thể sắp xếp * số * nhanh chóng, nhưng bạn sắp xếp * DOM *. Các hoạt động DOM chậm. Vấn đề của bạn bắt đầu với 9300 hàng trong bảng HTML. Tôi sắp xếp nó phía máy chủ. Nhưng nếu bạn không muốn làm điều đó, có lẽ lưu trữ dữ liệu trong một đối tượng JS, phân loại, và vẽ lại bảng mỗi lần sẽ nhanh hơn. –
@ Robert: Vâng, tôi muốn tránh nó, nhưng tôi sẽ lấy bất cứ thứ gì nhanh và học JQuery nếu cần thiết. – Dubslow