我試圖實現一個基本和高級搜索的web應用程序,並且我使用數據表1.10和jquery 2.2來顯示搜索結果。我與銷燬方法有問題,我希望你們中的一些人能夠幫助我找到解決方案,在此先感謝大家的幫助Datatable銷燬功能不按預期方式工作
讓我解釋一下我的項目,代碼邏輯,目標和問題:
我有一個單一的表,5列,你可以看到我的jsfiddle。我也有一個全局變量「表」來處理數據表(DT),一旦它被創建。我聲明瞭一個函數「loadSearchData」來爲另一個全局變量加載Ajax調用的參數。在我的兩個搜索按鈕的點擊事件,我檢查DT是否已經存在,然後我摧毀它,然後我調用函數「initializeDataTable」。我的想法是摧毀現有的DT,並在每次搜索按鈕被點擊時創建一個新的DT。但它不工作,行爲是「怪異的」:
我第一次輸入搜索條件並單擊搜索,工作完全正常如果我修改搜索條件並再次單擊搜索,然後我得到一個網頁錯誤
「行:1個錯誤:無法獲得屬性‘風格’的未定義或空引用」
然後,如果沒有調試,然後再次單擊搜索按鈕,然後將其工作完全正常了!
代碼:
//BASIC SEARCH
$('#btnBasicSearch').on('click', function() {
$("#partialSearch").removeAttr("hidden");
loadSearchData('basicSearch');
if ($.fn.DataTable.isDataTable('#tbDocumentsList')) {
table.destroy();
}
initializeDataTable(searchParameters);
});
//ADVANCED SEARCH
$("#btnSearch").on('click', function() {
$("#partialSearch").removeAttr("hidden");
loadSearchData('advancedSearch');
jQuery.ajaxSettings.traditional = true;
if ($.fn.DataTable.isDataTable('#tbDocumentsList')) {
table.destroy();
}
initializeDataTable(searchParameters);
});
我敢肯定有更好的方式來做到這一點,這是我第一次使用數據表,也許我失去了一些東西,任何人有什麼想法?
您可以在這裏看到完整的jsfiddle
https://jsfiddle.net/dalps/gxgLdo03/
我也要求在數據表論壇:
在此先感謝
dalps