2017-06-09 25 views
0

我有正常工作,顯示所有的開始和結束日期介於(請認準的評論獲取更多信息)的數據表。只是我現在時遇到的問題是,當我點擊一張桌子下一個按鈕,表頭移到日期下週日期,並顯示該周的數據,而且它顯示從上週的數據爲好。我需要的是,如果下週它的日期應該只顯示那周的數據(上週沒有行/數據)。表顯示的數據超出範圍,JS jQuery的

enter image description here

//this is only an eg: 
 

 
function test() { 
 
    //this is the table header start date(in pic)6/4/17 
 
    var test1 = document.getElementById("testing").innerHTML; 
 

 
    //this is the table header close date(in pic)6/10/17 
 
    var test2 = document.getElementById("testin").innerHTML; 
 

 
    //this is the function if dates is between start and end its displays the data in a tabel 
 
    function dateInRange(dbdates, start, end) { 
 
    if (end >= dbdates && start <= dbdates) { 
 
     return true; 
 
    } else { 
 
     return false; 
 
    } 
 
    } 
 

 

 
    var columns = ['orange'] 
 
    var table = document.getElementById('tablet'); 
 

 
    for (var i = 0; i < (testvalues.length - 1); i = i + 5) { //looping all values from db 
 
    if (dateInRange(testvalues[i + 2], test1, test2)) { 
 

 
     var row = table.insertRow(-1); 
 

 
     var cell1 = row.insertCell(-1); 
 
     var cell2 = row.insertCell(-1); 
 

 
     //more logic 
 

 
     //this is just an ex: 
 
     //this is next button on table 
 
     $("next").click(
 
     test(); 
 
     }

+1

你代碼混淆我.. –

+0

不讀你的代碼,我說你需要先清除表格然後填充 – Huangism

+0

您沒有任何代碼在那裏,添加新數據之前刪除以前的數據。 –

回答

1

你需要這樣的東西在你dateInRange功能開始執行以下操作:

function dateInRange(dbdates, start, end) { 
    dbdates=Date(dbdates); 
    start=Date(start); 
    end=Date(end); 
    //rest of function 
} 

這將允許你做你正在嘗試的日期比較。在將它們傳遞給函數之前,您可以將這些值轉換爲日期,但這會使代碼更清晰。

在問候刪除/更換除頭部所有現有行,一個很好的解決方案是在這裏:Delete all rows in an HTML table

+1

我的功能正在完善,它只是當我點擊旁邊它不斷從獲取數據上週 – david

+1

爲您呈現的功能代碼是不完美的;我用不同的日期對它進行了測試,它產生了不正確的返回值 –

0

你應該for loop之前刪除表中的數據,試試吧:

$("#tablet tbody tr").remove();