Chúng tôi hiện đang làm việc trên một CRM dựa trên web. Dự án sẽ tuyệt vời ngoại trừ một vấn đề khó chịu.jQuery DataTable - Ẩn các hàng theo cách dự định
chúng tôi đang sử dụng DataTable jQuery plug-in cho hầu hết mọi bảng có thể sắp xếp trong ứng dụng. Dưới đây là danh sách các sự cố hoạt động.
Như bạn thấy, cột thứ ba đại diện cho loại sự cố (vé, thay đổi yêu cầu, yêu cầu dịch vụ, vv)
Người dùng yêu cầu một hộp lọc đặt trên đầu trang của trước để lọc các loại sự cố. Ví dụ: nếu bạn chọn "Chỉ vé", mọi loại khác sẽ bị ẩn. Cho đến bây giờ, mọi thứ đều hoạt động.
Để làm như vậy, mỗi hàng có lớp CSS đại diện cho loại sự cố.
- Row # 1: class = "tấm vé"
- Row # 2: class = "changeRequest"
Khi thay đổi giá trị hộp lọc, sau mã javascript được thực hiện
$('table.sortable').each(function() {
for (var i = 0; i < rows.length; i++) {
if ($(rows[i]).hasClass(vClass)) $(rows[i]).hide();
}
});
nơi
- vClass = CS Lớp S đại diện cho loại sự cố
- hàng = Tất cả các hàng dữ liệu, nhận từ "$ (SomeDatatable) .dataTable(). FnGetNodes();"
- $ ('table.sortable') = Tất cả DataTables
Bây giờ, buộc chặt dây an toàn của bạn (liner tiếng Pháp). Khi bạn ẩn hoàn toàn một hàng, dataTable vẫn tính nó. Đây là kết quả tuyệt vời.
Điều đó đang được giải thích, có đi các câu hỏi chính: Làm sao tôi phải nói với DataTable mà tôi muốn giấu hàng mà không xóa chúng mãi mãi? DataTable đã có một hộp lọc nhưng tôi cần nó hoạt động độc lập cùng với hộp lọc kiểu (không phải trong hình ảnh).
Có cách nào để thêm bộ lọc thứ hai không?
Tôi không thể trả lời bạn nhưng bạn chắc chắn nhận được phiếu bầu từ tôi cho một câu hỏi rất chi tiết và được giải thích! – Liath
Tôi không quen thuộc với các plugin jquery bảng nhưng có bạn xem xét việc có thêm bộ lọc này tạo ra một "bản sao" tạm thời của bản gốc trừ các dòng mà không phải hiển thị và hiển thị nó thay thế? có vẻ như với tôi rằng các đường ẩn sẽ vẫn được tính là chúng vẫn nằm trong DOM –