Sha*_*iya 2 jquery jsp datatables
我在我的应用程序中使用数据表。加载页面时,我需要显示跨度中表格的行数。我正在使用 table.data().count() 来获取行数。但它没有给出正确的值。
联合应用程序:
<table id="example" class="" cellspacing="0" width="100%" style="padding: 10px">
<thead>
<tr>
<!-- <th>S No</th> -->
<th>Doc Id</th>
<th id="Position">Geo</th>
<th id="Position">Practice</th>
<th id="Position">Opportunity Id</th>
<th id="Position">Reference Id</th>
<th id="Position">Status</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
jQuery:
var table = $('#example').DataTable();
$(document).ready(function() {
var rowCount = table.data().count();
alert(rowCount);
});
Run Code Online (Sandbox Code Playgroud)
首先,不能依赖ready()
在表初始化后执行。这种结构很少ready()
是真正需要的,甚至是有用的,当人们认为他们需要它时,它通常是糟糕设计的副作用。我确实在 SO 上看到了数百篇帖子,其中人们遇到了由特殊嵌套ready()
范围引起的问题,并且大多数时候使用的唯一原因ready()
是“传统”或“只是为了确定”,即货物邪教编程。
其次,没有count()
方法data()
。有,但这是因为data()
实际上返回的是一个 API,数据作为附加了 API 方法的数组。
因此,使用Array.length
来获取行数,并将代码放在 dataTablesinitComplete
回调中:
var table = $('#example').DataTable({
initComplete: function() {
$('#count').text( this.api().data().length )
}
})
Run Code Online (Sandbox Code Playgroud)
标记可能如下所示:
<p id="count"></p>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6695 次 |
最近记录: |