下午被要求改乙個bug,是乙個使用bootstrap前端框架的頁面,頁面使用了datatable樣式來展示資料,每條資料後都有兩個按鈕(同意和駁回),再第一頁按鈕可點選操作,但在第二頁後所有按鈕全部失效,使用alert去驗證整個table內容全部是無效的,bug就是這樣產生了。
頁面中對按鈕的操作使用是用jquery繫結事件,eg:$((「input[id^=』accent_』]」).click(function());
原因:
這個頁面是把資料一次性載入到頁面,然後再分頁,資料請求只會在第一頁,所有的js資料都會載入在第一頁上,當翻頁跳轉到其他頁面時,資料不會再次向伺服器後台請求,頁面不會再次載入。js檔案是不會更新的,因此在翻頁後js已經是失效的了,就出現了這種分頁按鈕失效bug。
解決:
1.頁面分頁換成伺服器端分頁,每次頁面跳轉都去請求後台,然後重新整理頁面展示資料,這時完全不用考慮js失效的問題,但利用伺服器分頁一般使用在大量的資料請求上,如果資料很少,不建議使用這種方法,因為每次請求是十分耗時的。
2.將事件繫結到table上,利用jquery的on事件,這樣翻頁後js會跟隨datable**的更新而更新,不會出現失效的情況。
eg:$('#tllist tbody').on('click',『input[id^='accent_']』,function
());
//tllist為table的id
//id^='accent_為按鈕id
資料:
分頁兩種方式
同題目問題
DataTable分頁實現
using system using system.data namespace vmm less.controller 獲取總頁數 public int pagecount pagecount 設定要翻頁讀取的資料表,和每頁的資料行數 public void setproperties datat...
DataTable的資料分頁
在有些需要展示資料的時候,如果資料比較多的話 就需要用到分頁來展示,這樣才不會顯得頁面繁冗。所以在此記錄獲取datatable分頁的資料的方法 select 頁面 資料分頁 資料來源 第幾頁 每頁多少條 public static datatable getpagetodatatable datat...
JQuery的dataTable實現分頁
關於datatable基本使用有很多帖子說的很詳細,在此不做詳述。最近使用datatable處理伺服器返回分頁資料時遇到問題,問題解決後有一些心得分享一下 1.如果開啟介面通過datatable給 填充資料,必須把datatable呼叫放在document.ready方法裡面,或者放在 functi...