2017-04-10 36 views
0

我正在使用bootstrap-table-rails gem來爲我的表創建排序功能。除了當我通過JS更改表格字段中的數據時,它工作正常。 我的代碼如下所示:帶導軌的可分類引導表gem

<table data-toggle="table" class="table table-responsive"> 
    <thead> 
     <tr> 
      <th data-field="date" data-sortable="true">TITLE</th> 
      <th data-field="deadline" data-sortable="true">DEADLINE</th> 
      <th data-field="accept-job" data-sortable="true"></th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>Sample data</td> 
      <td>Sample data</td> 
      <td class="accept_field"><button class="btn accept_btn">Accept Job</button></td> 
     </tr> 
     <tr> 
      <td>Sample data</td> 
      <td>Sample data</td> 
      <td>Sample data</td> 
     </tr> 
    </tbody> 

基本上這個表包含兩排,其中一人被以虛擬數據填充,另一個是充滿動態數據(deadline_field)。我通過JS改變的數據是這樣的:

function Timer(duration, display, deadline) { 
    var timer = duration, hours, minutes, seconds; 
    setInterval(function() { 
     hours = parseInt((timer /3600)%24, 10) 
     minutes = parseInt((timer/60)%60, 10) 
     seconds = parseInt(timer % 60, 10); 

     hours = hours < 10 ? "0" + hours : hours; 
     minutes = minutes < 10 ? "0" + minutes : minutes; 
     seconds = seconds < 10 ? "0" + seconds : seconds; 

     display.text(hours + ":" + minutes + ":" + seconds); 
     deadline.text(hours + ":" + minutes + ":" + seconds); 
     --timer; 
    }, 1000); 
}; 

$(".accept-btn").click(function() { 
    var twentyFourHours = 24 * 60 * 60; 
    // Show timer element on page 
    var display = $('.countdown').show(); 
    var deadline = $('.deadline_field'); 
    Timer(twentyFourHours, display, deadline); 
}); 

此功能執行以下操作: 1.計算時間從24小時。 2.在其他頁面和表格中顯示截止日期,deadline_field。它工作得很好,但是當我嘗試對錶進行排序時,deadline_field值正在更改爲Sample data,即排序不再工作。 我非常感謝關於這個問題的任何想法,謝謝。

回答

0

經過數小時的研究,我決定切換到sorttable.js插件,這對我來說工作得很好。