Gần đây tôi đã thử nghiệm với plugin tablesorter cho jQuery. Tôi đã thành công và chạy nó trong một lần, và tôi rất ấn tượng. Tuy nhiên, tôi đã cố gắng áp dụng bảng biểu cho một bảng khác, chỉ gặp phải một số khó khăn ...jQuery tablesorter - mất chức năng sau khi gọi AJAX
Về cơ bản bảng gây ra sự cố có số <ul>
ở trên nó hoạt động như một tập hợp các tab cho bảng. vì vậy nếu bạn bấm vào một trong các tab này, một cuộc gọi AJAX được thực hiện và bảng được repopulated với các hàng có liên quan đến các tab cụ thể nhấp vào. Khi trang tải ban đầu (tức là trước khi một tab được nhấp), chức năng của bảng biểu hoạt động chính xác như mong đợi.
Nhưng khi một tab được nhấp và bảng được repopulated, chức năng biến mất, hiển thị nó mà không có tính năng sắp xếp. Ngay cả khi bạn quay lại tab gốc, sau khi nhấp vào tab khác, chức năng không trả về - cách duy nhất để làm như vậy là làm mới trang vật lý trong trình duyệt.
Tôi đã thấy một giải pháp có vẻ tương tự như sự cố của tôi trên trang web này và ai đó khuyên bạn nên sử dụng plugin jQuery, livequery. Tôi đã thử điều này nhưng không có kết quả :-(
Nếu ai đó có bất kỳ đề xuất nào tôi sẽ đánh giá cao nhất. Tôi có thể đăng đoạn mã nếu nó giúp (mặc dù tôi biết mã instantiation cho tablesorter là tốt khi nó hoạt động bảng không có các tab - vì vậy nó chắc chắn không phải là)
EDIT: Theo yêu cầu, đây là một số đoạn mã:
bảng được sắp xếp là <table id="#sortableTable#">..</table>
, mã instantiation cho tablesorter tôi đang sử dụng là:
$(document).ready(function()
{
$("#sortableTable").tablesorter(
{
headers: //disable any headers not worthy of sorting!
{
0: { sorter: false },
5: { sorter: false }
},
sortMultiSortKey: 'ctrlKey',
debug:true,
widgets: ['zebra']
});
});
Và tôi đã cố gắng để dàn dựng livequery như sau:
$("#sortableTable").livequery(function(){
$(this).tablesorter();
});
này đã không giúp mặc dù ... Tôi không chắc liệu tôi nên sử dụng id của bảng với livequery vì nó là nhấp chuột vào <ul>
Tôi nên trả lời, đó là tất nhiên không phải là một phần của bảng. Tôi đã thử một số biến thể với hy vọng rằng một trong số họ sẽ giúp đỡ, nhưng không có kết quả :-(
i' ll nhìn vào đó bây giờ :-) –
thử phương thức trigger() theo gợi ý của elwyn, hiệu quả hơn nhiều so với việc khởi tạo lại toàn bộ bảng. – soupasouniq
Cảm ơn @soupasouniq Tôi sẽ thử điều đó. – simplyharsh