我正在使用bootstrap-table-rails gem为我的表创建可排序的功能。它工作正常,除非我通过JS更改表的字段中的数据。 我的代码如下所示:
<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);
});
此功能执行以下操作:
它计算时间从24小时开始。
2.它在其他页面和表格中显示截止日期deadline_field
。它工作正常,但是当我尝试对表进行排序时,deadline_field
值被更改为Sample data
,即排序不再起作用。
我非常感谢对这个问题的任何想法,谢谢。